Source:NetHack 3.2.0/monst.c
Below is the full text to monst.c from the source code of NetHack 3.2.0. To link to a particular line, write [[NetHack 3.2.0/monst.c#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)monst.c 3.2 95/09/16 */ 2. /* Copyright © Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #include "config.h" 6. #include "permonst.h" 7. #include "monsym.h" 8. #include "eshk.h" 9. #include "vault.h" 10. #include "epri.h" 11. 12. #define NO_ATTK {0,0,0,0} 13. 14. #define WT_ELF 800 15. #define WT_DRAGON 4500 16. 17. #ifdef C 18. #undef C 19. #endif 20. #ifdef TEXTCOLOR 21. #include "color.h" 22. #define C(color) color 23. #define HI_DOMESTIC CLR_WHITE /* use for player + friendlies */ 24. #define HI_LORD CLR_MAGENTA 25. #else 26. #define C(color) 27. #endif 28. 29. void NDECL(monst_init); 30. /* 31. * Entry Format: (from permonst.h) 32. * 33. * name, symbol (S_* defines), 34. * difficulty level, move rate, armor class, magic resistance, 35. * alignment, creation/geno flags (G_* defines), 36. * 6 * attack structs ( type , damage-type, # dice, # sides ), 37. * weight (WT_* defines), nutritional value, extension length, 38. * sounds made (MS_* defines), physical size (MZ_* defines), 39. * resistances, resistances conferred (both MR_* defines), 40. * 3 * flag bitmaps (M1_*, M2_*, and M3_* defines respectively) 41. * symbol color (C(x) macro) 42. */ 43. #define MON(nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,col) \ 44. {nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,C(col)} 45. /* LVL() and SIZ() collect several fields to cut down on # of args for MON() */ 46. #define LVL(lvl,mov,ac,mr,aln) lvl,mov,ac,mr,aln 47. #define SIZ(wt,nut,pxl,snd,siz) wt,nut,pxl,snd,siz 48. /* ATTK() and A() are to avoid braces and commas within args to MON() */ 49. #define ATTK(at,ad,n,d) {at,ad,n,d} 50. #define A(a1,a2,a3,a4,a5,a6) {a1,a2,a3,a4,a5,a6} 51. 52. 53. /* 54. * Rule #1: monsters of a given class are contiguous in the 55. * mons[] array. 56. * 57. * Rule #2: monsters of a given class are presented in ascending 58. * order of strength. 59. * 60. * Rule #3: monster frequency is included in the geno mask; 61. * the frequency can be from 0 to 7. 0's will also 62. * be skipped during generation. 63. * 64. * Rule #4: monster subclasses (e.g. giants) should be kept 65. * together, unless it violates Rule 2. NOGEN monsters 66. * won't violate Rule 2. 67. * 68. * Guidelines for color assignment: 69. * 70. * * Use the same color for all `growth stages' of a monster (ex. 71. * little dog/big dog, baby naga/full-grown naga. 72. * 73. * * Use colors given in names wherever possible. If the class has `real' 74. * members with strong color associations, use those. 75. * 76. * * Favor `cool' colors for cold-resistent monsters, `warm' ones for 77. * fire-resistent ones. 78. * 79. * * Try to reserve purple (magenta) for powerful `ruler' monsters (queen 80. * bee, kobold lord, &c.). 81. * 82. * * Subject to all these constraints, try to use color to make as many 83. * distinctions as the / command (that is, within a monster letter 84. * distinct names should map to distinct colors). 85. * 86. * The aim in assigning colors is to be consistent enough so a player can 87. * become `intuitive' about them, deducing some or all of these rules 88. * unconsciously. Use your common sense. 89. */ 90. 91. #ifndef SPLITMON_2 92. NEARDATA struct permonst playermon = 93. /* 94. * special case used by weapons bonus code 95. */ 96. MON("player", S_HUMAN, 97. LVL(1, 10, 10, 0, 0), (G_GENO|G_NOGEN), 98. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 99. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 100. SIZ(WT_HUMAN, 400, PL_NSIZ, MS_HUMANOID, MZ_HUMAN), 0, 0, 101. M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 102. M2_HUMAN|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC); 103. 104. NEARDATA struct permonst *uasmon = &playermon; 105. 106. NEARDATA struct permonst mons[] = { 107. /* 108. * ants 109. */ 110. MON("giant ant", S_ANT, 111. LVL(2, 18, 3, 0, 0), (G_GENO|G_SGROUP|3), 112. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 113. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 114. SIZ(10, 10, 0, MS_SILENT, MZ_TINY), 0, 0, 115. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 116. M2_HOSTILE, 0, CLR_BROWN), 117. MON("killer bee", S_ANT, 118. LVL(1, 18, -1, 0, 0), (G_GENO|G_LGROUP|2), 119. A(ATTK(AT_STNG, AD_DRST, 1, 3), 120. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 121. SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 122. M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS, 123. M2_HOSTILE|M2_FEMALE, 0, CLR_YELLOW), 124. MON("soldier ant", S_ANT, 125. LVL(3, 18, 3, 0, 0), (G_GENO|G_SGROUP|2), 126. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_DRST, 3, 4), 127. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 128. SIZ(20, 5, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, 129. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 130. M2_HOSTILE, 0, CLR_BLUE), 131. MON("fire ant", S_ANT, 132. LVL(3, 18, 3, 10, 0), (G_GENO|G_SGROUP|1), 133. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_FIRE, 2, 4), 134. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 135. SIZ(30, 10, 0, MS_SILENT, MZ_TINY), MR_FIRE, MR_FIRE, 136. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 137. M2_HOSTILE, 0, CLR_RED), 138. MON("giant beetle", S_ANT, 139. LVL(5, 6, 4, 0, 0), (G_GENO|3), 140. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 141. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 142. SIZ(10, 10, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON, 143. M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE, 144. M2_HOSTILE, 0, CLR_BLACK), 145. MON("queen bee", S_ANT, 146. LVL(9, 24, -4, 0, 0), (G_GENO|G_NOGEN), 147. A(ATTK(AT_STNG, AD_DRST, 1, 8), 148. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 149. SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 150. M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_OVIPAROUS|M1_POIS, 151. M2_HOSTILE|M2_FEMALE|M2_PRINCE, 0, HI_LORD), 152. /* 153. * blobs 154. */ 155. MON("acid blob", S_BLOB, 156. LVL(1, 3, 8, 0, 0), (G_GENO|2), 157. A(ATTK(AT_NONE, AD_ACID, 1, 8), 158. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 159. SIZ(30, 10, 0, MS_SILENT, MZ_TINY), 160. MR_SLEEP|MR_POISON|MR_ACID|MR_STONE, MR_STONE, 161. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 162. M1_MINDLESS|M1_ACID, 163. M2_WANDER|M2_NEUTER, 0, CLR_GREEN), 164. MON("quivering blob", S_BLOB, 165. LVL(5, 1, 8, 0, 0), (G_GENO|2), 166. A(ATTK(AT_TUCH, AD_PHYS, 1, 8), 167. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 168. SIZ(200, 100, 0, MS_SILENT, MZ_SMALL), 169. MR_SLEEP|MR_POISON, MR_POISON, 170. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 171. M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_WHITE), 172. MON("gelatinous cube", S_BLOB, 173. LVL(6, 6, 8, 0, 0), (G_GENO|2), 174. A(ATTK(AT_TUCH, AD_PLYS, 2, 4), ATTK(AT_NONE, AD_PLYS, 1, 4), 175. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 176. SIZ(600, 150, 0, MS_SILENT, MZ_LARGE), 177. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_ACID|MR_STONE, 178. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP, 179. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE|M1_ACID, 180. M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN), 181. /* 182. * cockatrice 183. */ 184. MON("cockatrice", S_COCKATRICE, 185. LVL(5, 6, 6, 30, 0), (G_GENO|5), 186. A(ATTK(AT_BITE, AD_PHYS, 1, 3), ATTK(AT_TUCH, AD_STON, 0, 0), 187. ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 188. SIZ(30, 30, 0, MS_HISS, MZ_SMALL), 189. MR_POISON|MR_STONE, MR_POISON|MR_STONE, 190. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS, M2_HOSTILE, 0, CLR_YELLOW), 191. /* 192. * dogs & other canines 193. */ 194. MON("jackal", S_DOG, 195. LVL(0, 12, 7, 0, 0), (G_GENO|G_SGROUP|3), 196. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 197. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 198. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 199. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 200. MON("werejackal", S_DOG, 201. LVL(2, 12, 7, 10, -7), (G_NOGEN|G_NOCORPSE), 202. A(ATTK(AT_BITE, AD_WERE, 1, 4), NO_ATTK, NO_ATTK, 203. NO_ATTK, NO_ATTK, NO_ATTK), 204. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), MR_POISON, 0, 205. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 206. M2_NOPOLY|M2_WERE|M2_HOSTILE, 0, CLR_BROWN), 207. MON("little dog", S_DOG, 208. LVL(2, 18, 6, 0, 0), (G_GENO|1), 209. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 210. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 211. SIZ(150, 150, 0, MS_BARK, MZ_SMALL), 0, 0, 212. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, 0, HI_DOMESTIC), 213. MON("dog", S_DOG, 214. LVL(4, 16, 5, 0, 0), (G_GENO|1), 215. A(ATTK(AT_BITE, AD_PHYS, 1 ,6), 216. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 217. SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0, 218. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, 0, HI_DOMESTIC), 219. MON("large dog", S_DOG, 220. LVL(6, 15, 4, 0, 0), (G_GENO|1), 221. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 222. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 223. SIZ(800, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0, 224. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 225. M2_STRONG|M2_DOMESTIC, 0, HI_DOMESTIC), 226. MON("wolf", S_DOG, 227. LVL(5, 12, 4, 0, 0), (G_GENO|G_SGROUP|2), 228. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 229. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 230. SIZ(500, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 231. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 232. MON("werewolf", S_DOG, 233. LVL(5, 12, 4, 20, -7), (G_NOGEN|G_NOCORPSE), 234. A(ATTK(AT_BITE, AD_WERE, 2, 6), 235. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 236. SIZ(500, 250, 0, MS_BARK, MZ_MEDIUM), MR_POISON, 0, 237. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 238. M2_NOPOLY|M2_WERE|M2_HOSTILE, 0, CLR_BROWN), 239. MON("warg", S_DOG, 240. LVL(7, 12, 4, 0, -5), (G_GENO|G_SGROUP|2), 241. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 242. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 243. SIZ(850, 350, 0, MS_BARK, MZ_MEDIUM), 0, 0, 244. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 245. MON("winter wolf", S_DOG, 246. LVL(7, 12, 4, 0, 0), (G_GENO|1), 247. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_COLD, 2, 6), 248. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 249. SIZ(700, 300, 0, MS_BARK, MZ_LARGE), MR_COLD, MR_COLD, 250. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 251. M2_HOSTILE|M2_STRONG, 0, CLR_CYAN), 252. MON("hell hound pup", S_DOG, 253. LVL(7, 12, 4, 20, -5), (G_HELL|G_GENO|G_SGROUP|1), 254. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_FIRE, 2, 6), 255. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 256. SIZ(200, 200, 0, MS_BARK, MZ_SMALL), MR_FIRE, MR_FIRE, 257. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_RED), 258. MON("hell hound", S_DOG, 259. LVL(12, 14, 2, 20, 0), (G_HELL|G_GENO|1), 260. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BREA, AD_FIRE, 3, 6), 261. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 262. SIZ(600, 300, 0, MS_BARK, MZ_MEDIUM), MR_FIRE, MR_FIRE, 263. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 0, CLR_RED), 264. #ifdef CHARON 265. MON("Cerberus", S_DOG, 266. LVL(12, 10, 2, 20, -7), (G_HELL|G_UNIQ|1), 267. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BITE, AD_PHYS, 3, 6), 268. ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK), 269. SIZ(1000, 350, 0, MS_BARK, MZ_LARGE), MR_FIRE, MR_FIRE, 270. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 271. M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_MALE, 0, CLR_RED), 272. #endif 273. /* 274. * eyes 275. */ 276. MON("floating eye", S_EYE, 277. LVL(2, 1, 9, 10, 0), (G_GENO|5), 278. A(ATTK(AT_NONE, AD_PLYS, 0,70), 279. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 280. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0, 281. M1_FLY|M1_AMPHIBIOUS|M1_NOLIMBS|M1_NOHEAD, 282. M2_HOSTILE|M2_NEUTER, 0, CLR_BLUE), 283. MON("freezing sphere", S_EYE, 284. LVL(6, 13, 4, 0, 0), (G_GENO|2), 285. A(ATTK(AT_EXPL, AD_COLD, 4, 6), 286. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 287. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD, MR_COLD, 288. M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 289. M2_HOSTILE|M2_NEUTER, 0, CLR_WHITE), 290. #if 0 /* not yet implemented */ 291. MON("beholder", S_EYE, 292. LVL(6, 3, 4, 0, -10), (G_GENO|2), 293. A(ATTK(AT_GAZE, AD_SLOW, 0, 0), ATTK(AT_GAZE, AD_SLEE, 0, 0), 294. ATTK(AT_GAZE, AD_DISN, 0, 0), ATTK(AT_GAZE, AD_STON, 0, 0), 295. ATTK(AT_GAZE, AD_CNCL, 2, 4), ATTK(AT_BITE, AD_PHYS, 2, 4)), 296. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD, 0, 297. M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 298. M2_NOPOLY|M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 299. #endif 300. /* 301. * felines 302. */ 303. MON("kitten", S_FELINE, 304. LVL(2, 18, 6, 0, 0), (G_GENO|1), 305. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 306. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 307. SIZ(150, 150, 0, MS_MEW, MZ_SMALL), 0, 0, 308. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 309. M2_WANDER|M2_DOMESTIC, 0, HI_DOMESTIC), 310. MON("housecat", S_FELINE, 311. LVL(4, 16, 5, 0, 0), (G_GENO|1), 312. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 313. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 314. SIZ(200, 200, 0, MS_MEW, MZ_SMALL), 0, 0, 315. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, 0, HI_DOMESTIC), 316. MON("jaguar", S_FELINE, 317. LVL(4, 15, 6, 0, 0), (G_GENO|2), 318. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 319. ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 320. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 321. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 322. MON("large cat", S_FELINE, 323. LVL(6, 15, 4, 0, 0), (G_GENO|1), 324. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 325. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 326. SIZ(250, 250, 0, MS_MEW, MZ_SMALL), 0, 0, 327. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 328. M2_STRONG|M2_DOMESTIC, 0, HI_DOMESTIC), 329. MON("tiger", S_FELINE, 330. LVL(6, 12, 6, 0, 0), (G_GENO|2), 331. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 332. ATTK(AT_BITE, AD_PHYS, 1,10), NO_ATTK, NO_ATTK, NO_ATTK), 333. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 334. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_YELLOW), 335. /* 336. * gremlins and gargoyles 337. */ 338. MON("gremlin", S_GREMLIN, 339. LVL(5, 12, 2, 25, -9), (G_GENO|2), 340. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 341. ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_CURS, 0, 0), 342. NO_ATTK, NO_ATTK), 343. SIZ(100, 20, 0, MS_LAUGH, MZ_SMALL), MR_POISON, MR_POISON, 344. M1_SWIM|M1_HUMANOID|M1_POIS, M2_STALK, 0, CLR_GREEN), 345. MON("gargoyle", S_GREMLIN, 346. LVL(6, 10, -4, 0, -9), (G_GENO|2), 347. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6), 348. ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 349. SIZ(1000, 200, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE, 350. M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS, 351. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 352. MON("winged gargoyle", S_GREMLIN, 353. LVL(9, 15, -2, 0, -12), (G_GENO|1), 354. A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6), 355. ATTK(AT_BITE, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK), 356. SIZ(1200, 300, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE, 357. M1_FLY|M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS|M1_OVIPAROUS, 358. M2_LORD|M2_HOSTILE|M2_STRONG|M2_MAGIC, 0, HI_LORD), 359. /* 360. * humanoids 361. */ 362. MON("hobbit", S_HUMANOID, 363. LVL(1, 9, 10, 0, 6), (G_GENO|2), 364. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 365. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 366. SIZ(500, 200, 0, MS_HUMANOID, MZ_SMALL), 0, 0, 367. M1_HUMANOID, M2_COLLECT, 0, CLR_GREEN), 368. MON("dwarf", S_HUMANOID, 369. LVL(2, 6, 10, 10, 4), (G_GENO|3), 370. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 371. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 372. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 373. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID, 374. M2_DWARF|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 0, CLR_RED), 375. MON("bugbear", S_HUMANOID, 376. LVL(3, 9, 5, 0, -6), (G_GENO|1), 377. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 378. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 379. SIZ(1250, 250, 0, MS_GROWL, MZ_LARGE), 0, 0, 380. M1_HUMANOID, M2_STRONG|M2_COLLECT, 0, CLR_BROWN), 381. MON("dwarf lord", S_HUMANOID, 382. LVL(4, 6, 10, 10, 5), (G_GENO|2), 383. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 384. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 385. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 386. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID, 387. M2_DWARF|M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 388. 0, CLR_BLUE), 389. MON("dwarf king", S_HUMANOID, 390. LVL(6, 6, 10, 20, 6), (G_GENO|1), 391. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 392. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 393. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 394. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID, 395. M2_DWARF|M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 396. 0, HI_LORD), 397. MON("mind flayer", S_HUMANOID, 398. LVL(9, 12, 5, 90, -8), (G_GENO|1), 399. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_TENT, AD_DRIN, 2, 1), 400. ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1), 401. ATTK(AT_TENT, AD_DRIN, 2, 1), NO_ATTK), 402. SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN), 0, 0, 403. M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE, 404. M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT, 0, CLR_MAGENTA), 405. /* 406. * imps & other minor demons/devils 407. */ 408. MON("manes", S_IMP, 409. LVL(1, 3, 7, 0, -7), (G_GENO|G_LGROUP|G_NOCORPSE|1), 410. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 411. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 412. SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_SLEEP|MR_POISON, 0, 413. M1_POIS, M2_HOSTILE|M2_STALK, 0, CLR_RED), 414. MON("homunculus", S_IMP, 415. LVL(2, 12, 6, 10, -7), (G_GENO|2), 416. A(ATTK(AT_BITE, AD_SLEE, 1, 3), 417. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 418. SIZ(60, 100, 0, MS_SILENT, MZ_TINY), 419. MR_SLEEP|MR_POISON, MR_SLEEP|MR_POISON, 420. M1_FLY|M1_POIS, M2_STALK, 0, CLR_GREEN), 421. MON("imp", S_IMP, 422. LVL(3, 12, 2, 20, -7), (G_GENO|1), 423. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 424. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 425. SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0, 426. M1_REGEN, M2_WANDER|M2_STALK, 0, CLR_RED), 427. MON("lemure", S_IMP, 428. LVL(3, 3, 7, 0, -7), (G_HELL|G_GENO|G_LGROUP|G_NOCORPSE|1), 429. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), 430. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 431. SIZ(150, 100, 0, MS_SILENT, MZ_MEDIUM), 432. MR_SLEEP|MR_POISON, MR_SLEEP, M1_POIS|M1_REGEN, 433. M2_HOSTILE|M2_WANDER|M2_STALK|M2_NEUTER, 0, CLR_BROWN), 434. MON("quasit", S_IMP, 435. LVL(3, 15, 2, 20, -7), (G_GENO|2), 436. A(ATTK(AT_CLAW, AD_DRDX, 1, 2), ATTK(AT_CLAW, AD_DRDX, 1, 2), 437. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 438. SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 439. M1_REGEN, M2_STALK, 0, CLR_BLUE), 440. MON("tengu", S_IMP, 441. LVL(6, 13, 5, 30, 7), (G_GENO|3), 442. A(ATTK(AT_BITE, AD_PHYS, 1, 7), 443. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 444. SIZ(300, 200, 0, MS_SQAWK, MZ_SMALL), MR_POISON, MR_POISON, 445. M1_TPORT|M1_TPORT_CNTRL, M2_STALK, 0, CLR_CYAN), 446. /* 447. * jellies 448. */ 449. MON("blue jelly", S_JELLY, 450. LVL(4, 0, 8, 10, 0), (G_GENO|2), 451. A(ATTK(AT_NONE, AD_COLD, 0, 6), 452. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 453. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), 454. MR_COLD|MR_POISON, MR_COLD|MR_POISON, 455. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 456. M1_MINDLESS|M1_OMNIVORE, 457. M2_HOSTILE|M2_NEUTER, 0, CLR_BLUE), 458. MON("spotted jelly", S_JELLY, 459. LVL(5, 0, 8, 10, 0), (G_GENO|1), 460. A(ATTK(AT_NONE, AD_ACID, 0, 6), 461. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 462. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0, 463. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 464. M1_MINDLESS|M1_ACID|M1_OMNIVORE, 465. M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN), 466. MON("ochre jelly", S_JELLY, 467. LVL(6, 3, 8, 20, 0), (G_GENO|2), 468. A(ATTK(AT_ENGL, AD_ACID, 3, 6), ATTK(AT_NONE, AD_ACID, 3, 6), 469. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 470. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0, 471. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 472. M1_MINDLESS|M1_ACID|M1_OMNIVORE, 473. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 474. /* 475. * kobolds 476. */ 477. MON("kobold", S_KOBOLD, 478. LVL(0, 6, 10, 0, -2), (G_GENO|1), 479. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 480. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 481. SIZ(400, 100, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 482. M1_HUMANOID|M1_POIS, M2_HOSTILE|M2_COLLECT, 0, CLR_BROWN), 483. MON("large kobold", S_KOBOLD, 484. LVL(1, 6, 10, 0, -3), (G_GENO|1), 485. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 486. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 487. SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 488. M1_HUMANOID|M1_POIS, M2_HOSTILE|M2_COLLECT, 0, CLR_RED), 489. MON("kobold lord", S_KOBOLD, 490. LVL(2, 6, 10, 0, -4), (G_GENO|1), 491. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 492. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 493. SIZ(500, 200, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 494. M1_HUMANOID|M1_POIS, 495. M2_HOSTILE|M2_LORD|M2_MALE|M2_COLLECT, 0, HI_LORD), 496. MON("kobold shaman", S_KOBOLD, 497. LVL(1, 6, 6, 10, -4), (G_GENO|1), 498. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 499. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 500. SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 501. M1_HUMANOID|M1_POIS, M2_HOSTILE|M2_MAGIC, 0, HI_ZAP), 502. /* 503. * leprechauns 504. */ 505. MON("leprechaun", S_LEPRECHAUN, 506. LVL(5, 15, 8, 20, 0), (G_GENO|4), 507. A(ATTK(AT_CLAW, AD_SGLD, 1, 2), 508. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 509. SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), 0, 0, 510. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_GREEDY, 0, CLR_GREEN), 511. /* 512. * mimics 513. */ 514. MON("small mimic", S_MIMIC, 515. LVL(7, 3, 7, 0, 0), (G_GENO|2), 516. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), 517. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 518. SIZ(300, 200, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0, 519. M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 520. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 521. M2_HOSTILE, 0, CLR_BROWN), 522. MON("large mimic", S_MIMIC, 523. LVL(8, 3, 7, 10, 0), (G_GENO|1), 524. A(ATTK(AT_CLAW, AD_STCK, 3, 4), 525. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 526. SIZ(600, 400, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0, 527. M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 528. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 529. M2_HOSTILE|M2_STRONG, 0, CLR_RED), 530. MON("giant mimic", S_MIMIC, 531. LVL(9, 3, 7, 20, 0), (G_GENO|1), 532. A(ATTK(AT_CLAW, AD_STCK, 3, 6), ATTK(AT_CLAW, AD_STCK, 3, 6), 533. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 534. SIZ(800, 500, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0, 535. M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 536. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 537. M2_HOSTILE|M2_STRONG, 0, HI_LORD), 538. /* 539. * nymphs 540. */ 541. MON("wood nymph", S_NYMPH, 542. LVL(3, 12, 9, 20, 0), (G_GENO|2), 543. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 544. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 545. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 546. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT, 0, CLR_GREEN), 547. MON("water nymph", S_NYMPH, 548. LVL(3, 12, 9, 20, 0), (G_GENO|2), 549. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 550. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 551. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 552. M1_HUMANOID|M1_TPORT|M1_SWIM, 553. M2_HOSTILE|M2_FEMALE|M2_COLLECT, 0, CLR_BLUE), 554. MON("mountain nymph", S_NYMPH, 555. LVL(3, 12, 9, 20, 0), (G_GENO|2), 556. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 557. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 558. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 559. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT, 0, CLR_BROWN), 560. /* 561. * orcs 562. */ 563. MON("goblin", S_ORC, 564. LVL(0, 6, 10, 0, -3), (G_GENO|2), 565. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 566. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 567. SIZ(400, 100, 0, MS_ORC, MZ_SMALL), 0, 0, 568. M1_HUMANOID, M2_ORC|M2_COLLECT, 0, CLR_GRAY), 569. MON("hobgoblin", S_ORC, 570. LVL(1, 9, 10, 0, -4), (G_GENO|2), 571. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 572. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 573. SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, 574. M1_HUMANOID, M2_ORC|M2_STRONG|M2_COLLECT, 0, CLR_BROWN), 575. /* plain "orc" for zombie corpses only; not created at random 576. */ 577. MON("orc", S_ORC, 578. LVL(1, 9, 10, 0, -3), (G_GENO|G_NOGEN|G_LGROUP), 579. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 580. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 581. SIZ(850, 150, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID, 582. M2_ORC|M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 583. 0, CLR_RED), 584. MON("hill orc", S_ORC, 585. LVL(2, 9, 10, 0, -4), (G_GENO|G_LGROUP|2), 586. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 587. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 588. SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID, 589. M2_ORC|M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 590. 0, CLR_YELLOW), 591. MON("Mordor orc", S_ORC, 592. LVL(3, 5, 10, 0, -5), (G_GENO|G_LGROUP|1), 593. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 594. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 595. SIZ(1200, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID, 596. M2_ORC|M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 0, CLR_BLUE), 597. MON("Uruk-hai", S_ORC, 598. LVL(3, 7, 10, 0, -4), (G_GENO|G_LGROUP|1), 599. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 600. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 601. SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID, 602. M2_ORC|M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 0, CLR_BLACK), 603. MON("orc shaman", S_ORC, 604. LVL(3, 9, 5, 10, -5), (G_GENO|1), 605. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 606. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 607. SIZ(1000, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID, 608. M2_ORC|M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, HI_ZAP), 609. MON("orc-captain", S_ORC, 610. LVL(5, 5, 10, 0, -5), (G_GENO|1), 611. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 612. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 613. SIZ(1350, 350, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID, 614. M2_ORC|M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 615. 0, HI_LORD), 616. /* 617. * piercers 618. */ 619. MON("rock piercer", S_PIERCER, 620. LVL(3, 1, 3, 0, 0), (G_GENO|4), 621. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 622. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 623. SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), 0, 0, 624. M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE, 625. M2_HOSTILE, 0, CLR_GRAY), 626. MON("iron piercer", S_PIERCER, 627. LVL(5, 1, 0, 0, 0), (G_GENO|2), 628. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 629. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 630. SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 631. M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE, 632. M2_HOSTILE, 0, CLR_CYAN), 633. /* 634. * quadrupeds 635. */ 636. MON("rothe", S_QUADRUPED, 637. LVL(2, 9, 7, 0, 0), (G_GENO|G_SGROUP|4), 638. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3), 639. ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 640. SIZ(400, 100, 0, MS_SILENT, MZ_LARGE), 0, 0, 641. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GRAY), 642. MON("mumak", S_QUADRUPED, 643. LVL(5, 9, 0, 0, -2), (G_GENO|1), 644. A(ATTK(AT_BUTT, AD_PHYS, 4,12), ATTK(AT_BITE, AD_PHYS, 2, 6), 645. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 646. SIZ(2500, 500, 0, MS_SILENT, MZ_LARGE), 0, 0, 647. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 648. M2_HOSTILE|M2_STRONG, 0, CLR_GRAY), 649. MON("leocrotta", S_QUADRUPED, 650. LVL(6, 18, 4, 10, 0), (G_GENO|2), 651. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_BITE, AD_PHYS, 2, 6), 652. ATTK(AT_CLAW, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 653. SIZ(1200, 500, 0, MS_IMITATE, MZ_LARGE), 0, 0, 654. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 0, CLR_RED), 655. MON("wumpus", S_QUADRUPED, 656. LVL(8, 3, 2, 10, 0), (G_GENO|1), 657. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 658. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 659. SIZ(2500, 500, 0, MS_SILENT, MZ_LARGE), 0, 0, 660. M1_CLING|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 661. M2_HOSTILE|M2_STRONG, 0, CLR_CYAN), 662. MON("titanothere", S_QUADRUPED, 663. LVL(12, 12, 6, 0, 0), (G_GENO|2), 664. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), 665. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 666. SIZ(2650, 650, 0, MS_SILENT, MZ_LARGE), 0, 0, 667. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 668. M2_HOSTILE|M2_STRONG, 0, CLR_GRAY), 669. MON("baluchitherium", S_QUADRUPED, 670. LVL(14, 12, 5, 0, 0), (G_GENO|2), 671. A(ATTK(AT_CLAW, AD_PHYS, 5, 4), ATTK(AT_CLAW, AD_PHYS, 5, 4), 672. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 673. SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), 0, 0, 674. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 675. M2_HOSTILE|M2_STRONG, 0, CLR_GRAY), 676. /* 677. * rodents 678. */ 679. MON("sewer rat", S_RODENT, 680. LVL(0, 12, 7, 0, 0), (G_GENO|G_SGROUP|1), 681. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 682. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 683. SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0, 684. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 685. MON("giant rat", S_RODENT, 686. LVL(1, 10, 7, 0, 0), (G_GENO|G_SGROUP|2), 687. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 688. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 689. SIZ(30, 30, 0, MS_SQEEK, MZ_TINY), 0, 0, 690. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 691. MON("rabid rat", S_RODENT, 692. LVL(2, 12, 6, 0, 0), (G_GENO|1), 693. A(ATTK(AT_BITE, AD_DRCO, 2, 4), 694. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 695. SIZ(30, 5, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0, 696. M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 697. MON("wererat", S_RODENT, 698. LVL(2, 12, 6, 10, -7), (G_NOGEN|G_NOCORPSE), 699. A(ATTK(AT_BITE, AD_WERE, 1, 4), 700. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 701. SIZ(40, 30, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0, 702. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 703. M2_NOPOLY|M2_WERE|M2_HOSTILE, 0, CLR_BROWN), 704. MON("rock mole", S_RODENT, 705. LVL(3, 3, 0, 20, 0), (G_GENO|2), 706. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 707. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 708. SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0, 709. M1_TUNNEL|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE, 710. M2_HOSTILE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 0, CLR_GRAY), 711. /* 712. * spiders & scorpions 713. */ 714. MON("cave spider", S_SPIDER, 715. LVL(1, 12, 3, 0, 0), (G_GENO|G_SGROUP|2), 716. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 717. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 718. SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, 719. M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 720. M2_HOSTILE, 0, CLR_GRAY), 721. MON("giant spider", S_SPIDER, 722. LVL(5, 15, 4, 0, 0), (G_GENO|1), 723. A(ATTK(AT_BITE, AD_DRST, 2, 4), 724. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 725. SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON, 726. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 727. M2_HOSTILE|M2_STRONG, 0, CLR_MAGENTA), 728. MON("scorpion", S_SPIDER, 729. LVL(5, 15, 3, 0, 0), (G_GENO|2), 730. A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2), 731. ATTK(AT_STNG, AD_DRST, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 732. SIZ(50, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 733. M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 734. M2_HOSTILE, 0, CLR_RED), 735. /* 736. * trappers, lurkers, &c 737. */ 738. MON("lurker above", S_TRAPPER, 739. LVL(10, 3, 3, 0, 0), (G_GENO|2), 740. A(ATTK(AT_ENGL, AD_DGST, 1, 8), 741. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 742. SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0, 743. M1_HIDE|M1_FLY|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE, 744. M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GRAY), 745. MON("trapper", S_TRAPPER, 746. LVL(12, 3, 3, 0, 0), (G_GENO|2), 747. A(ATTK(AT_ENGL, AD_DGST, 1,10), 748. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 749. SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0, 750. M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE, 751. M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GREEN), 752. /* 753. * unicorns 754. */ 755. MON("white unicorn", S_UNICORN, 756. LVL(4, 24, 2, 70, 7), (G_GENO|2), 757. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 758. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 759. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 760. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 0, CLR_WHITE), 761. MON("gray unicorn", S_UNICORN, 762. LVL(4, 24, 2, 70, 0), (G_GENO|1), 763. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 764. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 765. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 766. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 0, CLR_GRAY), 767. MON("black unicorn", S_UNICORN, 768. LVL(4, 24, 2, 70, -7), (G_GENO|1), 769. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 770. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 771. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 772. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 0, CLR_BLACK), 773. /* 774. * vortices 775. */ 776. MON("fog cloud", S_VORTEX, 777. LVL(3, 1, 0, 0, 0), (G_GENO|G_NOCORPSE|2), 778. A(ATTK(AT_ENGL, AD_PHYS, 1, 6), 779. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 780. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 781. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 782. M1_AMORPHOUS|M1_UNSOLID, 783. M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY), 784. MON("dust vortex", S_VORTEX, 785. LVL(4, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|2), 786. A(ATTK(AT_ENGL, AD_BLND, 2, 8), 787. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 788. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 789. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 790. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 791. MON("ice vortex", S_VORTEX, 792. LVL(5, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|1), 793. A(ATTK(AT_ENGL, AD_COLD, 1, 6), 794. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 795. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 796. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 797. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 798. M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN), 799. MON("energy vortex", S_VORTEX, 800. LVL(6, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|1), 801. A(ATTK(AT_ENGL, AD_ELEC, 1, 6), ATTK(AT_ENGL, AD_DREN, 0, 0), 802. ATTK(AT_NONE, AD_ELEC, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK), 803. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 804. MR_ELEC|MR_SLEEP|MR_DISINT|MR_POISON|MR_STONE, 0, 805. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 806. M1_UNSOLID, 807. M2_HOSTILE|M2_NEUTER, 0, HI_ZAP), 808. MON("steam vortex", S_VORTEX, 809. LVL(7, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|2), 810. A(ATTK(AT_ENGL, AD_FIRE, 1, 8), 811. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 812. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 813. MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE, 0, 814. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 815. M1_UNSOLID, 816. M2_HOSTILE|M2_NEUTER, 0, CLR_BLUE), 817. MON("fire vortex", S_VORTEX, 818. LVL(8, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|1), 819. A(ATTK(AT_ENGL, AD_FIRE, 1,10), ATTK(AT_NONE, AD_FIRE, 0, 4), 820. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 821. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 822. MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE, 0, 823. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 824. M1_UNSOLID, 825. M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW), 826. /* 827. * worms 828. */ 829. MON("baby long worm", S_WORM, 830. LVL(8, 3, 5, 0, 0), G_GENO, 831. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 832. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 833. SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0, 834. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 835. MON("baby purple worm", S_WORM, 836. LVL(8, 3, 5, 0, 0), G_GENO, 837. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 838. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 839. SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0, 840. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_MAGENTA), 841. MON("long worm", S_WORM, 842. LVL(8, 3, 5, 10, 0), (G_GENO|2), 843. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 844. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 845. SIZ(1500, 500, 0, MS_SILENT, MZ_GIGANTIC), 0, 0, 846. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE, 847. M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_BROWN), 848. MON("purple worm", S_WORM, 849. LVL(15, 9, 6, 20, 0), (G_GENO|2), 850. A(ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_ENGL, AD_DGST, 1,10), 851. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 852. SIZ(2700, 700, 0, MS_SILENT, MZ_GIGANTIC), 0, 0, 853. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE, 854. M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_MAGENTA), 855. /* 856. * xan, &c 857. */ 858. MON("grid bug", S_XAN, 859. LVL(0, 12, 9, 0, 0), (G_GENO|G_SGROUP|G_NOCORPSE|3), 860. A(ATTK(AT_BITE, AD_ELEC, 1, 1), 861. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 862. SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON, 0, 863. M1_ANIMAL, M2_HOSTILE, 0, CLR_MAGENTA), 864. MON("xan", S_XAN, 865. LVL(7, 18, -4, 0, 0), (G_GENO|3), 866. A(ATTK(AT_STNG, AD_LEGS, 1, 4), 867. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 868. SIZ(300, 300, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 869. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_POIS, M2_HOSTILE, 0, CLR_RED), 870. /* 871. * lights 872. */ 873. MON("yellow light", S_LIGHT, 874. LVL(3, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|4), 875. A(ATTK(AT_EXPL, AD_BLND, 10,20), 876. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 877. SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 878. MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID| 879. MR_STONE, 0, 880. M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 881. M1_MINDLESS|M1_UNSOLID, 882. M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW), 883. MON("black light", S_LIGHT, 884. LVL(5, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|2), 885. A(ATTK(AT_EXPL, AD_HALU, 10,12), 886. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 887. SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 888. MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID| 889. MR_STONE, 0, 890. M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 891. M1_MINDLESS|M1_UNSOLID|M1_SEE_INVIS, 892. M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK), 893. /* 894. * zruty 895. */ 896. MON("zruty", S_ZRUTY, 897. LVL(9, 8, 3, 0, 0), (G_GENO|2), 898. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 899. ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK), 900. SIZ(1200, 600, 0, MS_SILENT, MZ_LARGE), 0, 0, 901. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 902. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 903. /* 904. * Angels and other lawful minions 905. */ 906. MON("couatl", S_ANGEL, 907. LVL(8, 10, 5, 30, 7), (G_NOHELL|G_SGROUP|G_NOCORPSE|1), 908. A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_BITE, AD_PHYS, 1, 3), 909. ATTK(AT_HUGS, AD_WRAP, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 910. SIZ(900, 400, 0, MS_SILENT, MZ_LARGE), MR_POISON, 0, 911. M1_FLY|M1_POIS, 912. M2_MINION|M2_STALK|M2_STRONG|M2_NASTY, 0, CLR_GREEN), 913. MON("Aleax", S_ANGEL, 914. LVL(10, 8, 0, 30, 7), (G_NOHELL|G_NOCORPSE|1), 915. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 916. ATTK(AT_KICK, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 917. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), 918. MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 919. M1_HUMANOID|M1_SEE_INVIS, 920. M2_MINION|M2_STALK|M2_NASTY|M2_COLLECT, 0, CLR_YELLOW), 921. MON("Angel", S_ANGEL, 922. LVL(14, 10, -4, 55, 12), (G_NOHELL|G_NOCORPSE|1), 923. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 4), 924. ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_MAGM, 2, 6), 925. NO_ATTK, NO_ATTK), 926. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_CUSS, MZ_HUMAN), 927. MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 928. M1_HUMANOID|M1_SEE_INVIS, 929. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_COLLECT, 0, CLR_WHITE), 930. MON("ki-rin", S_ANGEL, 931. LVL(16, 18, -5, 90, 15), (G_NOHELL|G_NOCORPSE|1), 932. A(ATTK(AT_KICK, AD_PHYS, 2, 4), ATTK(AT_KICK, AD_BLND, 2, 4), 933. ATTK(AT_BUTT, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK), 934. SIZ(WT_HUMAN, 400, 0, MS_NEIGH, MZ_LARGE), 0, 0, 935. M1_FLY|M1_SEE_INVIS, 936. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD, 0, HI_GOLD), 937. MON("Archon", S_ANGEL, 938. LVL(19, 16, -6, 80, 15), (G_NOHELL|G_NOCORPSE|1), 939. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_GAZE, AD_BLND, 2, 6), 940. ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 1, 8), 941. ATTK(AT_MAGC, AD_SPEL, 4, 6), NO_ATTK), 942. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE), 943. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 944. M1_FLY|M1_HUMANOID|M1_SEE_INVIS|M1_REGEN, 945. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD| 946. M2_COLLECT|M2_MAGIC, 947. 0, HI_LORD), 948. /* 949. * Bats 950. */ 951. MON("bat", S_BAT, 952. LVL(0, 22, 8, 0, 0), (G_GENO|G_SGROUP|1), 953. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 954. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 955. SIZ(20, 20, 0, MS_SQEEK, MZ_TINY), 0, 0, 956. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_WANDER, 0, CLR_BROWN), 957. MON("giant bat", S_BAT, 958. LVL(2, 22, 7, 0, 0), (G_GENO|2), 959. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 960. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 961. SIZ(30, 30, 0, MS_SQEEK, MZ_MEDIUM), 0, 0, 962. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 963. M2_WANDER|M2_HOSTILE, 0, CLR_RED), 964. MON("vampire bat", S_BAT, 965. LVL(5, 20, 6, 0, 0), (G_GENO|2), 966. A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRST, 0, 0), 967. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 968. SIZ(30, 20, 0, MS_SQEEK, MZ_TINY), MR_SLEEP|MR_POISON, 0, 969. M1_FLY|M1_BREATHLESS|M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_REGEN, 970. M2_UNDEAD|M2_HOSTILE, 0, CLR_BLACK), 971. /* 972. * Centaurs 973. */ 974. MON("plains centaur", S_CENTAUR, 975. LVL(4, 18, 4, 0, 0), (G_GENO|1), 976. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_KICK, AD_PHYS, 1, 6), 977. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 978. SIZ(2500, 500, 0, MS_SILENT, MZ_LARGE), 0, 0, 979. M1_HUMANOID, M2_STRONG|M2_GREEDY|M2_COLLECT, 0, CLR_BROWN), 980. MON("forest centaur", S_CENTAUR, 981. LVL(5, 18, 3, 10, -1), (G_GENO|1), 982. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 6), 983. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 984. SIZ(2550, 600, 0, MS_SILENT, MZ_LARGE), 0, 0, 985. M1_HUMANOID, M2_STRONG|M2_GREEDY|M2_COLLECT, 0, CLR_GREEN), 986. MON("mountain centaur", S_CENTAUR, 987. LVL(6, 20, 2, 10, -3), (G_GENO|1), 988. A(ATTK(AT_WEAP, AD_PHYS, 1,10), ATTK(AT_KICK, AD_PHYS, 1, 6), 989. ATTK(AT_KICK, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 990. SIZ(2550, 500, 0, MS_SILENT, MZ_LARGE), 0, 0, 991. M1_HUMANOID, M2_STRONG|M2_GREEDY|M2_COLLECT, 0, CLR_CYAN), 992. /* 993. * Dragons 994. */ 995. /* The order of the dragons is VERY IMPORTANT. Quite a few 996. * pieces of code depend on gray being first and yellow being last. 997. * The code also depends on the *order* being the same as that for 998. * dragon scale mail and dragon scales in objects.c. Baby dragons 999. * cannot confer intrinsics, to avoid polyself/egg abuse. 1000. */ 1001. MON("baby gray dragon", S_DRAGON, 1002. LVL(12, 9, 2, 10, 0), G_GENO, 1003. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1004. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1005. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0, 1006. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1007. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GRAY), 1008. MON("baby red dragon", S_DRAGON, 1009. LVL(12, 9, 2, 10, 0), G_GENO, 1010. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1011. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1012. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_FIRE, 0, 1013. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1014. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_RED), 1015. MON("baby white dragon", S_DRAGON, 1016. LVL(12, 9, 2, 10, 0), G_GENO, 1017. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1018. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1019. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_COLD, 0, 1020. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1021. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_WHITE), 1022. MON("baby orange dragon", S_DRAGON, 1023. LVL(12, 9, 2, 10, 0), G_GENO, 1024. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1025. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1026. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_SLEEP, 0, 1027. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1028. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_ORANGE), 1029. MON("baby black dragon", S_DRAGON, 1030. LVL(12, 9, 2, 10, 0), G_GENO, 1031. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1032. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1033. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_DISINT, 0, 1034. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1035. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLACK), 1036. MON("baby blue dragon", S_DRAGON, 1037. LVL(12, 9, 2, 10, 0), G_GENO, 1038. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1039. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1040. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_ELEC, 0, 1041. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1042. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLUE), 1043. MON("baby green dragon", S_DRAGON, 1044. LVL(12, 9, 2, 10, 0), G_GENO, 1045. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1046. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1047. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_POISON, 0, 1048. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_POIS, 1049. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GREEN), 1050. MON("baby yellow dragon", S_DRAGON, 1051. LVL(12, 9, 2, 10, 0), G_GENO, 1052. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1053. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1054. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_ACID|MR_STONE, 0, 1055. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_ACID, 1056. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_YELLOW), 1057. MON("gray dragon", S_DRAGON, 1058. LVL(15, 9, -1, 20, 4), (G_GENO|1), 1059. A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1060. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1061. NO_ATTK, NO_ATTK), 1062. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 0, 0, 1063. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1064. M1_CARNIVORE, 1065. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GRAY), 1066. MON("red dragon", S_DRAGON, 1067. LVL(15, 9, -1, 20, -4), (G_GENO|1), 1068. A(ATTK(AT_BREA, AD_FIRE, 6, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1069. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1070. NO_ATTK, NO_ATTK), 1071. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_FIRE, MR_FIRE, 1072. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1073. M1_CARNIVORE, 1074. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_RED), 1075. MON("white dragon", S_DRAGON, 1076. LVL(15, 9, -1, 20, -5), (G_GENO|1), 1077. A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1078. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1079. NO_ATTK, NO_ATTK), 1080. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD, MR_COLD, 1081. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1082. M1_CARNIVORE, 1083. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_WHITE), 1084. MON("orange dragon", S_DRAGON, 1085. LVL(15, 9, -1, 20, 5), (G_GENO|1), 1086. A(ATTK(AT_BREA, AD_SLEE, 4,25), ATTK(AT_BITE, AD_PHYS, 3, 8), 1087. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1088. NO_ATTK, NO_ATTK), 1089. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_SLEEP, MR_SLEEP, 1090. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1091. M1_CARNIVORE, 1092. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1093. 0, CLR_ORANGE), 1094. MON("black dragon", S_DRAGON, 1095. LVL(15, 9, -1, 20, -6), (G_GENO|1), 1096. A(ATTK(AT_BREA, AD_DISN, 4,10), ATTK(AT_BITE, AD_PHYS, 3, 8), 1097. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1098. NO_ATTK, NO_ATTK), 1099. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_DISINT, MR_DISINT, 1100. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1101. M1_CARNIVORE, 1102. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_BLACK), 1103. MON("blue dragon", S_DRAGON, 1104. LVL(15, 9, -1, 20, -7), (G_GENO|1), 1105. A(ATTK(AT_BREA, AD_ELEC, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1106. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1107. NO_ATTK, NO_ATTK), 1108. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_ELEC, MR_ELEC, 1109. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1110. M1_CARNIVORE, 1111. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_BLUE), 1112. MON("green dragon", S_DRAGON, 1113. LVL(15, 9, -1, 20, 6), (G_GENO|1), 1114. A(ATTK(AT_BREA, AD_DRST, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1115. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1116. NO_ATTK, NO_ATTK), 1117. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_POISON, MR_POISON, 1118. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1119. M1_CARNIVORE|M1_POIS, 1120. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GREEN), 1121. MON("yellow dragon", S_DRAGON, 1122. LVL(15, 9, -1, 20, 7), (G_GENO|1), 1123. A(ATTK(AT_BREA, AD_ACID, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1124. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1125. NO_ATTK, NO_ATTK), 1126. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 1127. MR_ACID|MR_STONE, MR_STONE, 1128. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1129. M1_CARNIVORE|M1_ACID, 1130. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1131. 0, CLR_YELLOW), 1132. /* 1133. * Elementals 1134. */ 1135. MON("air elemental", S_ELEMENTAL, 1136. LVL(8, 36, 2, 30, 0), (G_NOCORPSE|1), 1137. A(ATTK(AT_ENGL, AD_PHYS, 2,10), 1138. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1139. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0, 1140. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY, 1141. M2_STRONG|M2_NEUTER, 0, CLR_CYAN), 1142. MON("fire elemental", S_ELEMENTAL, 1143. LVL(8, 12, 2, 30, 0), (G_NOCORPSE|1), 1144. A(ATTK(AT_CLAW, AD_FIRE, 3, 6), ATTK(AT_NONE, AD_FIRE, 0, 4), 1145. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1146. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_FIRE|MR_POISON|MR_STONE, 0, 1147. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY, 1148. M2_STRONG|M2_NEUTER, 0, CLR_YELLOW), 1149. MON("earth elemental", S_ELEMENTAL, 1150. LVL(8, 6, 2, 30, 0), (G_NOCORPSE|1), 1151. A(ATTK(AT_CLAW, AD_PHYS, 4, 6), 1152. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1153. SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE), 1154. MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0, 1155. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_BREATHLESS| 1156. M1_WALLWALK|M1_THICK_HIDE, 1157. M2_STRONG|M2_NEUTER, 0, CLR_BROWN), 1158. MON("water elemental", S_ELEMENTAL, 1159. LVL(8, 6, 2, 30, 0), (G_NOCORPSE|1), 1160. A(ATTK(AT_CLAW, AD_PHYS, 5, 6), 1161. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1162. SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0, 1163. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_AMPHIBIOUS|M1_SWIM, 1164. M2_STRONG|M2_NEUTER, 0, CLR_BLUE), 1165. /* 1166. * Fungi 1167. */ 1168. MON("brown mold", S_FUNGUS, 1169. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1170. A(ATTK(AT_NONE, AD_COLD, 0, 6), 1171. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1172. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), 1173. MR_COLD|MR_POISON, MR_COLD|MR_POISON, 1174. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE, 1175. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 1176. MON("yellow mold", S_FUNGUS, 1177. LVL(1, 0, 9, 0, 0), (G_GENO|2), 1178. A(ATTK(AT_NONE, AD_STUN, 0, 4), 1179. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1180. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 1181. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 1182. M1_OMNIVORE|M1_POIS, 1183. M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW), 1184. MON("green mold", S_FUNGUS, 1185. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1186. A(ATTK(AT_NONE, AD_ACID, 0, 4), 1187. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1188. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_ACID|MR_STONE, MR_STONE, 1189. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 1190. M1_OMNIVORE|M1_ACID, 1191. M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN), 1192. MON("red mold", S_FUNGUS, 1193. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1194. A(ATTK(AT_NONE, AD_FIRE, 0, 4), 1195. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1196. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), 1197. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1198. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE, 1199. M2_HOSTILE|M2_NEUTER, 0, CLR_RED), 1200. MON("shrieker", S_FUNGUS, 1201. LVL(3, 1, 7, 0, 0), (G_GENO|1), 1202. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1203. SIZ(100, 100, 0, MS_SHRIEK, MZ_SMALL), MR_POISON, MR_POISON, 1204. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 1205. M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA), 1206. MON("violet fungus", S_FUNGUS, 1207. LVL(3, 1, 7, 0, 0), (G_GENO|2), 1208. A(ATTK(AT_TUCH, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_STCK, 0, 0), 1209. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1210. SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 1211. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE, 1212. M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA), 1213. /* 1214. * Gnomes 1215. */ 1216. MON("gnome", S_GNOME, 1217. LVL(1, 6, 10, 4, 0), (G_GENO|G_SGROUP|1), 1218. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 1219. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1220. SIZ(650, 100, 0, MS_ORC, MZ_SMALL), 0, 0, 1221. M1_HUMANOID, M2_COLLECT, 0, CLR_BROWN), 1222. MON("gnome lord", S_GNOME, 1223. LVL(3, 8, 10, 4, 0), (G_GENO|2), 1224. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 1225. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1226. SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0, 1227. M1_HUMANOID, M2_LORD|M2_MALE|M2_COLLECT, 0, CLR_BLUE), 1228. MON("gnomish wizard", S_GNOME, 1229. LVL(3, 10, 4, 10, 0), (G_GENO|1), 1230. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 1231. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1232. SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0, 1233. M1_HUMANOID, M2_MAGIC, 0, HI_ZAP), 1234. MON("gnome king", S_GNOME, 1235. LVL(5, 10, 10, 20, 0), (G_GENO|1), 1236. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1237. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1238. SIZ(750, 150, 0, MS_ORC, MZ_SMALL), 0, 0, 1239. M1_HUMANOID, M2_PRINCE|M2_MALE|M2_COLLECT, 0, HI_LORD), 1240. #ifdef SPLITMON_1 1241. }; 1242. #endif 1243. #endif /* !SPLITMON_2 */ 1244. 1245. /* horrible kludge alert: 1246. * This is a compiler-specific kludge to allow the compilation of monst.o in 1247. * two pieces, by defining first SPLITMON_1 and then SPLITMON_2. The 1248. * resulting assembler files (monst1.s and monst2.s) are then run through 1249. * sed to change local symbols, concatenated together, and assembled to 1250. * produce monst.o. THIS ONLY WORKS WITH THE ATARI GCC, and should only 1251. * be done if you don't have enough memory to compile monst.o the "normal" 1252. * way. --ERS 1253. */ 1254. 1255. #ifndef SPLITMON_1 1256. #ifdef SPLITMON_2 1257. struct permonst _mons2[] = { 1258. #endif 1259. /* 1260. * giant Humanoids 1261. */ 1262. MON("giant", S_GIANT, 1263. LVL(6, 6, 0, 0, 2), (G_GENO|G_NOGEN|1), 1264. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1265. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1266. SIZ(2250, 750, 0, MS_SILENT, MZ_HUGE), 0, 0, 1267. M1_HUMANOID, 1268. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1269. 0, CLR_RED), 1270. MON("stone giant", S_GIANT, 1271. LVL(6, 6, 0, 0, 2), (G_GENO|G_SGROUP|1), 1272. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1273. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1274. SIZ(2250, 750, 0, MS_SILENT, MZ_HUGE), 0, 0, 1275. M1_HUMANOID, 1276. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1277. 0, CLR_GRAY), 1278. MON("hill giant", S_GIANT, 1279. LVL(8, 10, 6, 0, -2), (G_GENO|G_SGROUP|1), 1280. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), 1281. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1282. SIZ(2200, 700, 0, MS_SILENT, MZ_HUGE), 0, 0, 1283. M1_HUMANOID, 1284. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1285. 0, CLR_CYAN), 1286. MON("fire giant", S_GIANT, 1287. LVL(9, 12, 4, 5, 2), (G_GENO|G_SGROUP|1), 1288. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1289. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1290. SIZ(2250, 750, 0, MS_SILENT, MZ_HUGE), MR_FIRE, MR_FIRE, 1291. M1_HUMANOID, 1292. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1293. 0, CLR_YELLOW), 1294. MON("frost giant", S_GIANT, 1295. LVL(10, 12, 3, 10, -3), (G_GENO|G_SGROUP|1), 1296. A(ATTK(AT_WEAP, AD_PHYS, 2,12), 1297. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1298. SIZ(2250, 750, 0, MS_SILENT, MZ_HUGE), MR_COLD, MR_COLD, 1299. M1_HUMANOID, 1300. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1301. 0, CLR_WHITE), 1302. MON("ettin", S_GIANT, 1303. LVL(10, 12, 3, 0, 0), (G_GENO|1), 1304. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6), 1305. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1306. SIZ(1700, 500, 0, MS_GRUNT, MZ_HUGE), 0, 0, 1307. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1308. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 0, CLR_BROWN), 1309. MON("titan", S_GIANT, 1310. LVL(16, 18, -3, 70, 9), (1), 1311. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1312. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1313. SIZ(2300, 900, 0, MS_SILENT, MZ_HUGE), 0, 0, 1314. M1_FLY|M1_HUMANOID, 1315. M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_MAGIC, 0, CLR_MAGENTA), 1316. MON("minotaur", S_GIANT, 1317. LVL(15, 15, 6, 0, 0), (G_GENO|G_NOGEN), 1318. A(ATTK(AT_CLAW, AD_PHYS, 3,10), ATTK(AT_CLAW, AD_PHYS, 3,10), 1319. ATTK(AT_BUTT, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK), 1320. SIZ(1500, 700, 0, MS_SILENT, MZ_LARGE), 0, 0, 1321. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1322. M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_BROWN), 1323. /* 1324. * Invisible stalker 1325. */ 1326. MON("stalker", S_STALKER, 1327. LVL(8, 12, 3, 0, 0), (G_GENO|3), 1328. A(ATTK(AT_CLAW, AD_PHYS, 4, 4), 1329. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1330. SIZ(900, 400, 0, MS_SILENT, MZ_LARGE), 0, 0, 1331. M1_ANIMAL|M1_FLY|M1_SEE_INVIS, 1332. M2_WANDER|M2_STALK|M2_HOSTILE|M2_STRONG, 0, CLR_WHITE), 1333. /* 1334. * Jabberwock 1335. */ 1336. MON("jabberwock", S_JABBERWOCK, 1337. LVL(15, 12, -2, 50, 0), (G_GENO|1), 1338. A(ATTK(AT_BITE, AD_PHYS, 2,10), ATTK(AT_BITE, AD_PHYS, 2,10), 1339. ATTK(AT_CLAW, AD_PHYS, 2,10), ATTK(AT_CLAW, AD_PHYS, 2,10), 1340. NO_ATTK, NO_ATTK), 1341. SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), 0, 0, 1342. M1_ANIMAL|M1_FLY|M1_CARNIVORE, 1343. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 0, CLR_ORANGE), 1344. #ifdef KOPS 1345. /* 1346. * Kops 1347. */ 1348. MON("Keystone Kop", S_KOP, 1349. LVL(1, 6, 10, 10, 9), (G_GENO|G_LGROUP|G_NOGEN), 1350. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 1351. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1352. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1353. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_MALE|M2_COLLECT, 0, CLR_BLUE), 1354. MON("Kop Sergeant", S_KOP, 1355. LVL(2, 8, 10, 10, 10), (G_GENO|G_SGROUP|G_NOGEN), 1356. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 1357. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1358. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1359. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 0, CLR_BLUE), 1360. MON("Kop Lieutenant", S_KOP, 1361. LVL(3, 10, 10, 20, 11), (G_GENO|G_NOGEN), 1362. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 1363. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1364. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1365. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 0, CLR_CYAN), 1366. MON("Kop Kaptain", S_KOP, 1367. LVL(4, 12, 10, 20, 12), (G_GENO|G_NOGEN), 1368. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1369. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1370. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1371. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 1372. 0, HI_LORD), 1373. #endif 1374. /* 1375. * Liches 1376. */ 1377. MON("lich", S_LICH, 1378. LVL(11, 6, 0, 30, -9), (G_GENO|G_NOCORPSE|1), 1379. A(ATTK(AT_TUCH, AD_COLD, 1,10), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1380. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1381. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1382. MR_COLD|MR_SLEEP|MR_POISON, MR_COLD, 1383. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1384. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, 0, CLR_BROWN), 1385. MON("demilich", S_LICH, 1386. LVL(14, 9, -2, 60, -12), (G_GENO|G_NOCORPSE|1), 1387. A(ATTK(AT_TUCH, AD_COLD, 3, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1388. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1389. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1390. MR_COLD|MR_SLEEP|MR_POISON, MR_COLD, 1391. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1392. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, 0, CLR_RED), 1393. MON("master lich", S_LICH, 1394. LVL(17, 9, -4, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1), 1395. A(ATTK(AT_TUCH, AD_COLD, 3, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1396. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1397. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1398. MR_FIRE|MR_COLD|MR_SLEEP|MR_POISON, MR_FIRE|MR_COLD, 1399. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1400. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK, HI_LORD), 1401. /* 1402. * Mummies 1403. */ 1404. MON("kobold mummy", S_MUMMY, 1405. LVL(3, 8, 6, 20, -2), (G_GENO|G_NOCORPSE|1), 1406. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 1407. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1408. SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 1409. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1410. M2_UNDEAD|M2_HOSTILE, 0, CLR_BROWN), 1411. MON("gnome mummy", S_MUMMY, 1412. LVL(4, 10, 6, 20, -3), (G_GENO|G_NOCORPSE|1), 1413. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1414. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1415. SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 1416. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1417. M2_UNDEAD|M2_HOSTILE, 0, CLR_RED), 1418. MON("orc mummy", S_MUMMY, 1419. LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1), 1420. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1421. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1422. SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 1423. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1424. M2_UNDEAD|M2_HOSTILE|M2_ORC|M2_GREEDY|M2_JEWELS, 0, CLR_GRAY), 1425. MON("elf mummy", S_MUMMY, 1426. LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1), 1427. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), 1428. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1429. SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN), 1430. MR_COLD|MR_SLEEP|MR_POISON, 0, 1431. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1432. M2_UNDEAD|M2_HOSTILE|M2_ELF, 0, CLR_GREEN), 1433. MON("human mummy", S_MUMMY, 1434. LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1), 1435. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 1436. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1437. SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN), 1438. MR_COLD|MR_SLEEP|MR_POISON, 0, 1439. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1440. M2_UNDEAD|M2_HOSTILE, 0, CLR_GRAY), 1441. MON("ettin mummy", S_MUMMY, 1442. LVL(7, 12, 4, 30, -6), (G_GENO|G_NOCORPSE|1), 1443. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6), 1444. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1445. SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE), 1446. MR_COLD|MR_SLEEP|MR_POISON, 0, 1447. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1448. M2_UNDEAD|M2_HOSTILE|M2_STRONG, 0, CLR_BLUE), 1449. MON("giant mummy", S_MUMMY, 1450. LVL(8, 14, 3, 30, -7), (G_GENO|G_NOCORPSE|1), 1451. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 1452. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1453. SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE), 1454. MR_COLD|MR_SLEEP|MR_POISON, 0, 1455. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1456. M2_UNDEAD|M2_HOSTILE|M2_GIANT|M2_STRONG|M2_JEWELS, 0, CLR_CYAN), 1457. /* 1458. * Nagas 1459. */ 1460. MON("red naga hatchling", S_NAGA, 1461. LVL(3, 10, 6, 0, 0), G_GENO, 1462. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1463. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1464. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), 1465. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1466. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE, M2_STRONG, 0, CLR_RED), 1467. MON("black naga hatchling", S_NAGA, 1468. LVL(3, 10, 6, 0, 0), G_GENO, 1469. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1470. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1471. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), 1472. MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE, 1473. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_ACID, M2_STRONG, 0, CLR_BLACK), 1474. MON("golden naga hatchling", S_NAGA, 1475. LVL(3, 10, 6, 0, 0), G_GENO, 1476. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1477. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1478. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON, 1479. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE, M2_STRONG, 0, HI_GOLD), 1480. MON("guardian naga hatchling", S_NAGA, 1481. LVL(3, 10, 6, 0, 0), G_GENO, 1482. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1483. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1484. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON, 1485. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE, M2_STRONG, 0, CLR_GREEN), 1486. MON("red naga", S_NAGA, 1487. LVL(6, 12, 4, 0, -4), (G_GENO|1), 1488. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BREA, AD_FIRE, 2, 6), 1489. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1490. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), 1491. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1492. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS, M2_STRONG, 0, CLR_RED), 1493. MON("black naga", S_NAGA, 1494. LVL(8, 14, 2, 10, 4), (G_GENO|1), 1495. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_SPIT, AD_ACID, 0, 0), 1496. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1497. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), 1498. MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE, 1499. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_ACID, 1500. M2_STRONG, 0, CLR_BLACK), 1501. MON("golden naga", S_NAGA, 1502. LVL(10, 14, 2, 70, 5), (G_GENO|1), 1503. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_MAGC, AD_SPEL, 4, 6), 1504. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1505. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON, 1506. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS, 1507. M2_STRONG, 0, HI_GOLD), 1508. MON("guardian naga", S_NAGA, 1509. LVL(12, 16, 0, 50, 7), (G_GENO|1), 1510. A(ATTK(AT_BITE, AD_PLYS, 1, 6), ATTK(AT_SPIT, AD_DRST, 1, 6), 1511. ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 1512. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON, 1513. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_POIS, 1514. M2_STRONG, 0, CLR_GREEN), 1515. /* 1516. * Ogres 1517. */ 1518. MON("ogre", S_OGRE, 1519. LVL(5, 10, 5, 0, -3), (G_SGROUP|G_GENO|1), 1520. A(ATTK(AT_WEAP, AD_PHYS, 2, 5), 1521. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1522. SIZ(1600, 500, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID, 1523. M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 0, CLR_BROWN), 1524. MON("ogre lord", S_OGRE, 1525. LVL(7, 12, 3, 30, -5), (G_GENO|2), 1526. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1527. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1528. SIZ(1700, 700, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID, 1529. M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 0, CLR_RED), 1530. MON("ogre king", S_OGRE, 1531. LVL(7, 14, 4, 60, -7), (G_GENO|2), 1532. A(ATTK(AT_WEAP, AD_PHYS, 3, 5), 1533. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1534. SIZ(1700, 750, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID, 1535. M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 1536. 0, HI_LORD), 1537. /* 1538. * Puddings 1539. */ 1540. MON("gray ooze", S_PUDDING, 1541. LVL(3, 1, 8, 0, 0), (G_GENO|2), 1542. A(ATTK(AT_BITE, AD_RUST, 2, 8), 1543. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1544. SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM), 1545. MR_FIRE|MR_COLD|MR_POISON|MR_ACID|MR_STONE, MR_FIRE|MR_COLD|MR_POISON, 1546. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1547. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1548. M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY), 1549. MON("brown pudding", S_PUDDING, 1550. LVL(5, 3, 8, 0, 0), (G_GENO|1), 1551. A(ATTK(AT_BITE, AD_DCAY, 0, 0), 1552. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1553. SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM), 1554. MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON, 1555. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1556. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1557. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 1558. MON("black pudding", S_PUDDING, 1559. LVL(10, 6, 6, 0, 0), (G_GENO|1), 1560. A(ATTK(AT_BITE, AD_RUST, 3, 8), ATTK(AT_NONE, AD_RUST, 0, 0), 1561. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1562. SIZ(900, 250, 0, MS_SILENT, MZ_LARGE), 1563. MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON, 1564. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1565. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1566. M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK), 1567. /* 1568. * Quantum mechanics 1569. */ 1570. MON("quantum mechanic", S_QUANTMECH, 1571. LVL(7, 12, 3, 10, 0), (G_GENO|3), 1572. A(ATTK(AT_CLAW, AD_TLPT, 1, 4), 1573. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1574. SIZ(WT_HUMAN, 20, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 1575. M1_HUMANOID|M1_POIS|M1_TPORT, M2_HOSTILE, 0, CLR_CYAN), 1576. /* 1577. * Rust monster 1578. */ 1579. MON("rust monster", S_RUSTMONST, 1580. LVL(5, 18, 2, 0, 0), (G_GENO|2), 1581. A(ATTK(AT_TUCH, AD_RUST, 0, 0), ATTK(AT_TUCH, AD_RUST, 0, 0), 1582. ATTK(AT_NONE, AD_RUST, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 1583. SIZ(1000, 250, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 1584. M1_SWIM|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE, M2_HOSTILE, 0, CLR_BROWN), 1585. /* 1586. * Snakes 1587. */ 1588. MON("garter snake", S_SNAKE, 1589. LVL(1, 8, 8, 0, 0), (G_LGROUP|G_GENO|1), 1590. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 1591. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1592. SIZ(50, 60, 0, MS_HISS, MZ_TINY), 0, 0, 1593. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_OVIPAROUS| 1594. M1_CARNIVORE, 1595. 0, 0, CLR_GREEN), 1596. MON("snake", S_SNAKE, 1597. LVL(4, 15, 3, 0, 0), (G_GENO|2), 1598. A(ATTK(AT_BITE, AD_DRST, 1, 6), 1599. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1600. SIZ(100, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON, 1601. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1602. M1_OVIPAROUS|M1_CARNIVORE, 1603. M2_HOSTILE, 0, CLR_BROWN), 1604. MON("water moccasin", S_SNAKE, 1605. LVL(4, 15, 3, 0, 0), (G_GENO|G_NOGEN|G_LGROUP), 1606. A(ATTK(AT_BITE, AD_DRST, 1, 6), 1607. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1608. SIZ(150, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON, 1609. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1610. M1_CARNIVORE|M1_OVIPAROUS, 1611. M2_HOSTILE, 0, CLR_RED), 1612. MON("pit viper", S_SNAKE, 1613. LVL(6, 15, 2, 0, 0), (G_GENO|1), 1614. A(ATTK(AT_BITE, AD_DRST, 1, 4), ATTK(AT_BITE, AD_DRST, 1, 4), 1615. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1616. SIZ(100, 60, 0, MS_HISS, MZ_MEDIUM), 1617. MR_POISON, MR_POISON, 1618. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1619. M1_CARNIVORE|M1_OVIPAROUS, 1620. M2_HOSTILE, 0, CLR_BLUE), 1621. MON("python", S_SNAKE, 1622. LVL(6, 3, 5, 0, 0), (G_GENO|1), 1623. A(ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_PHYS, 0, 0), 1624. ATTK(AT_HUGS, AD_WRAP, 1, 4), ATTK(AT_HUGS, AD_PHYS, 2, 4), 1625. NO_ATTK, NO_ATTK), 1626. SIZ(250, 100, 0, MS_HISS, MZ_LARGE), 0, 0, 1627. M1_SWIM|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_CARNIVORE|M1_OVIPAROUS, 1628. M2_HOSTILE|M2_STRONG, 0, CLR_MAGENTA), 1629. MON("cobra", S_SNAKE, 1630. LVL(6, 18, 2, 0, 0), (G_GENO|1), 1631. A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_SPIT, AD_BLND, 0, 0), 1632. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1633. SIZ(250, 100, 0, MS_HISS, MZ_MEDIUM), 1634. MR_POISON, MR_POISON, 1635. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1636. M1_CARNIVORE|M1_OVIPAROUS, 1637. M2_HOSTILE, 0, CLR_BLUE), 1638. /* 1639. * Trolls 1640. */ 1641. MON("troll", S_TROLL, 1642. LVL(7, 12, 4, 0, -3), (G_GENO|2), 1643. A(ATTK(AT_CLAW, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 4, 2), 1644. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1645. SIZ(800, 350, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1646. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1647. M2_STRONG|M2_STALK|M2_HOSTILE, 0, CLR_BROWN), 1648. MON("ice troll", S_TROLL, 1649. LVL(9, 10, 2, 20, -3), (G_GENO|1), 1650. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_COLD, 2, 6), 1651. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1652. SIZ(1000, 300, 0, MS_GRUNT, MZ_LARGE), MR_COLD, MR_COLD, 1653. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1654. M2_STRONG|M2_STALK|M2_HOSTILE, 0, CLR_WHITE), 1655. MON("rock troll", S_TROLL, 1656. LVL(9, 12, 0, 0, -3), (G_GENO|1), 1657. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6), 1658. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1659. SIZ(1200, 300, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1660. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1661. M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT, 0, CLR_CYAN), 1662. MON("water troll", S_TROLL, 1663. LVL(11, 14, 4, 40, -3), (G_NOGEN|G_GENO), 1664. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 1665. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1666. SIZ(1200, 350, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1667. M1_HUMANOID|M1_REGEN|M1_CARNIVORE|M1_SWIM, 1668. M2_STRONG|M2_STALK|M2_HOSTILE, 0, CLR_BLUE), 1669. MON("Olog-hai", S_TROLL, 1670. LVL(13, 12, -4, 0, -7), (G_GENO|1), 1671. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6), 1672. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1673. SIZ(1500, 400, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1674. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1675. M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT, 0, HI_LORD), 1676. /* 1677. * Umber hulk 1678. */ 1679. MON("umber hulk", S_UMBER, 1680. LVL(9, 6, 2, 25, 0), (G_GENO|2), 1681. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 1682. ATTK(AT_BITE, AD_PHYS, 2, 5), ATTK(AT_GAZE, AD_CONF, 0, 0), 1683. NO_ATTK, NO_ATTK), 1684. SIZ(1200, 500, 0, MS_SILENT, MZ_LARGE), 0, 0, 1685. M1_TUNNEL|M1_CARNIVORE, M2_STRONG, 0, CLR_BROWN), 1686. /* 1687. * Vampires 1688. */ 1689. MON("vampire", S_VAMPIRE, 1690. LVL(10, 12, 1, 25, -8), (G_GENO|1), 1691. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRLI, 1, 6), 1692. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1693. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 1694. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1695. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_RED), 1696. MON("vampire lord", S_VAMPIRE, 1697. LVL(12, 14, 0, 50, -9), (G_GENO|1), 1698. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_DRLI, 1, 8), 1699. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1700. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 1701. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1702. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE, 1703. 0, CLR_BLUE), 1704. MON("Vlad the Impaler", S_VAMPIRE, 1705. LVL(14, 18, -3, 80, -10), (G_NOGEN|G_NOCORPSE|G_UNIQ), 1706. A(ATTK(AT_WEAP, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_DRLI, 1, 10), 1707. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1708. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 1709. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1710. M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG| 1711. M2_NASTY|M2_PRINCE|M2_MALE, 1712. M3_WAITFORU|M3_WANTSBOOK, HI_LORD), 1713. /* 1714. * Wraiths 1715. */ 1716. MON("barrow wight", S_WRAITH, 1717. LVL(3, 12, 5, 5, -3), (G_GENO|G_NOCORPSE|1), 1718. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1719. ATTK(AT_WEAP, AD_DRLI, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 1720. SIZ(1200, 0, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 1721. M1_BREATHLESS|M1_HUMANOID, 1722. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_COLLECT, 0, CLR_GRAY), 1723. MON("wraith", S_WRAITH, 1724. LVL(6, 12, 4, 15, -6), (G_GENO|2), 1725. A(ATTK(AT_TUCH, AD_DRLI, 1, 6), 1726. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1727. SIZ(0, 0, 0, MS_SILENT, MZ_HUMAN), 1728. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 1729. M1_BREATHLESS|M1_FLY|M1_HUMANOID|M1_UNSOLID, 1730. M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_BLACK), 1731. MON("Nazgul", S_WRAITH, 1732. LVL(13, 12, 0, 25, -17), (G_GENO|G_NOCORPSE|1), 1733. A(ATTK(AT_WEAP, AD_DRLI, 1, 4), ATTK(AT_BREA, AD_SLEE, 0, 0), 1734. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1735. SIZ(WT_HUMAN, 0, 0, MS_SILENT, MZ_HUMAN), 1736. MR_COLD|MR_SLEEP|MR_POISON, 0, M1_BREATHLESS|M1_HUMANOID, 1737. M2_UNDEAD|M2_STALK|M2_STRONG|M2_HOSTILE|M2_MALE|M2_COLLECT, 1738. 0, HI_LORD), 1739. /* 1740. * Xorn 1741. */ 1742. MON("xorn", S_XORN, 1743. LVL(8, 9,-2, 20, 0), (G_GENO|1), 1744. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 1745. ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 4, 6), 1746. NO_ATTK, NO_ATTK), 1747. SIZ(1200, 700, 0, MS_SILENT, MZ_MEDIUM), 1748. MR_FIRE|MR_COLD|MR_STONE, MR_STONE, 1749. M1_BREATHLESS|M1_WALLWALK|M1_THICK_HIDE|M1_METALLIVORE, 1750. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 1751. /* 1752. * Yeti, apes and other large beasts 1753. */ 1754. MON("ape", S_YETI, 1755. LVL(4, 12, 6, 0, 0), (G_GENO|G_SGROUP|2), 1756. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 1757. ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1758. SIZ(1100, 500, 0, MS_GROWL, MZ_LARGE), 0, 0, 1759. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_STRONG, 0, CLR_BROWN), 1760. MON("owlbear", S_YETI, 1761. LVL(5, 12, 5, 0, 0), (G_GENO|3), 1762. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 1763. ATTK(AT_HUGS, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK), 1764. SIZ(1700, 700, 0, MS_SILENT, MZ_LARGE), 0, 0, 1765. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1766. M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_BROWN), 1767. MON("yeti", S_YETI, 1768. LVL(5, 15, 6, 0, 0), (G_GENO|2), 1769. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 1770. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 1771. SIZ(1600, 700, 0, MS_GROWL, MZ_LARGE), MR_COLD, MR_COLD, 1772. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 0, CLR_WHITE), 1773. MON("carnivorous ape", S_YETI, 1774. LVL(6, 12, 6, 0, 0), (G_GENO|1), 1775. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1776. ATTK(AT_HUGS, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 1777. SIZ(1250, 550, 0, MS_GROWL, MZ_LARGE), 0, 0, 1778. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 0, CLR_BLACK), 1779. MON("sasquatch", S_YETI, 1780. LVL(7, 15, 6, 0, 2), (G_GENO|1), 1781. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 1782. ATTK(AT_KICK, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 1783. SIZ(1550, 750, 0, MS_GROWL, MZ_LARGE), 0, 0, 1784. M1_ANIMAL|M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, M2_STRONG, 0, CLR_GRAY), 1785. /* 1786. * Zombies 1787. */ 1788. MON("kobold zombie", S_ZOMBIE, 1789. LVL(0, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1), 1790. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 1791. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1792. SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 1793. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1794. M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_BROWN), 1795. MON("gnome zombie", S_ZOMBIE, 1796. LVL(1, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1), 1797. A(ATTK(AT_CLAW, AD_PHYS, 1, 5), 1798. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1799. SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 1800. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1801. M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_BROWN), 1802. MON("orc zombie", S_ZOMBIE, 1803. LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 1804. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1805. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1806. SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 1807. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1808. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ORC, 0, CLR_GRAY), 1809. MON("elf zombie", S_ZOMBIE, 1810. LVL(3, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 1811. A(ATTK(AT_CLAW, AD_PHYS, 1, 7), 1812. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1813. SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN), 1814. MR_COLD|MR_SLEEP|MR_POISON, 0, 1815. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 1816. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ELF, 0, CLR_GREEN), 1817. MON("human zombie", S_ZOMBIE, 1818. LVL(4, 6, 8, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 1819. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), 1820. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1821. SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN), 1822. MR_COLD|MR_SLEEP|MR_POISON, 0, 1823. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 1824. M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, HI_DOMESTIC), 1825. MON("ettin zombie", S_ZOMBIE, 1826. LVL(6, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1), 1827. A(ATTK(AT_CLAW, AD_PHYS, 1,10), ATTK(AT_CLAW, AD_PHYS, 1,10), 1828. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1829. SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE), 1830. MR_COLD|MR_SLEEP|MR_POISON, 0, 1831. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 1832. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG, 0, CLR_BLUE), 1833. MON("giant zombie", S_ZOMBIE, 1834. LVL(8, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1), 1835. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 1836. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1837. SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE), 1838. MR_COLD|MR_SLEEP|MR_POISON, 0, 1839. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 1840. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GIANT|M2_STRONG, 0, CLR_CYAN), 1841. MON("skeleton", S_ZOMBIE, 1842. LVL(12, 8, 4, 0, 0), (G_NOCORPSE|G_NOGEN), 1843. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6), 1844. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1845. SIZ(300, 5, 0, MS_BONES, MZ_HUMAN), 1846. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 1847. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 1848. M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NASTY, 1849. 0, CLR_WHITE), 1850. /* 1851. * golems 1852. */ 1853. MON("straw golem", S_GOLEM, 1854. LVL(3, 12, 10, 0, 0), (G_GENO|G_NOCORPSE|1), 1855. A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2), 1856. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1857. SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 1858. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 1859. M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW), 1860. MON("rope golem", S_GOLEM, 1861. LVL(4, 9, 8, 0, 0), (G_GENO|G_NOCORPSE|1), 1862. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1863. ATTK(AT_HUGS, AD_PHYS, 6, 1), NO_ATTK, NO_ATTK, NO_ATTK), 1864. SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 1865. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 1866. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 1867. MON("leather golem", S_GOLEM, 1868. LVL(6, 6, 6, 0, 0), (G_GENO|G_NOCORPSE|1), 1869. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 1870. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1871. SIZ(800, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 1872. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 1873. M2_HOSTILE|M2_NEUTER, 0, HI_LEATHER), 1874. MON("wood golem", S_GOLEM, 1875. LVL(7, 3, 4, 0, 0), (G_GENO|G_NOCORPSE|1), 1876. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), 1877. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1878. SIZ(900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 1879. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 1880. M2_HOSTILE|M2_NEUTER, 0, HI_WOOD), 1881. MON("flesh golem", S_GOLEM, 1882. LVL(9, 8, 9, 30, 0), (G_GENO|1), 1883. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 1884. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1885. SIZ(1400, 600, 0, MS_SILENT, MZ_LARGE), 1886. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 1887. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 1888. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 1889. M2_HOSTILE|M2_STRONG, 0, CLR_RED), 1890. MON("clay golem", S_GOLEM, 1891. LVL(11, 7, 7, 40, 0), (G_GENO|G_NOCORPSE|1), 1892. A(ATTK(AT_CLAW, AD_PHYS, 3,10), 1893. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1894. SIZ(1550, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 1895. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 1896. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 1897. MON("stone golem", S_GOLEM, 1898. LVL(14, 6, 5, 50, 0), (G_GENO|G_NOCORPSE|1), 1899. A(ATTK(AT_CLAW, AD_PHYS, 3, 8), 1900. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1901. SIZ(1900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 1902. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 1903. M2_HOSTILE|M2_STRONG, 0, CLR_GRAY), 1904. MON("iron golem", S_GOLEM, 1905. LVL(18, 6, 3, 60, 0), (G_GENO|G_NOCORPSE|1), 1906. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_BREA, AD_DRST, 4, 6), 1907. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1908. SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE), 1909. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 1910. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS, 1911. M2_HOSTILE|M2_STRONG|M2_COLLECT, 0, HI_METAL), 1912. /* 1913. * humans, including elves and were-critters 1914. */ 1915. MON("human", S_HUMAN, 1916. LVL(0, 12, 10, 0, 0), G_NOGEN, /* for corpses */ 1917. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 1918. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1919. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 1920. M1_HUMANOID|M1_OMNIVORE, 1921. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 1922. 0, HI_DOMESTIC), 1923. MON("wererat", S_HUMAN, 1924. LVL(2, 12, 10, 10, -7), (1), 1925. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 1926. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1927. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_POISON, 0, 1928. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 1929. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, 0, CLR_BROWN), 1930. MON("werejackal", S_HUMAN, 1931. LVL(2, 12, 10, 10, -7), (1), 1932. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 1933. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1934. SIZ(WT_HUMAN, 400, 0, MS_BARK, MZ_HUMAN), MR_POISON, 0, 1935. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 1936. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, 0, CLR_RED), 1937. MON("werewolf", S_HUMAN, 1938. LVL(5, 12, 10, 20, -7), (1), 1939. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 1940. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1941. SIZ(WT_HUMAN, 400, 0, MS_BARK, MZ_HUMAN), MR_POISON, 0, 1942. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 1943. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, 1944. 0, CLR_ORANGE), 1945. MON("Woodland-elf", S_HUMAN, 1946. LVL(4, 12, 10, 10, -5), (G_GENO|G_SGROUP|2), 1947. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 1948. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1949. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 1950. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 1951. M2_ELF|M2_COLLECT, 0, CLR_GREEN), 1952. MON("Green-elf", S_HUMAN, 1953. LVL(5, 12, 10, 10, -6), (G_GENO|G_SGROUP|2), 1954. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 1955. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1956. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 1957. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 1958. M2_ELF|M2_COLLECT, 0, CLR_BRIGHT_GREEN), 1959. MON("Grey-elf", S_HUMAN, 1960. LVL(6, 12, 10, 10, -7), (G_GENO|G_SGROUP|2), 1961. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 1962. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1963. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 1964. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 1965. M2_ELF|M2_COLLECT, 0, CLR_GRAY), 1966. MON("elf-lord", S_HUMAN, 1967. LVL(8, 12, 10, 20, -9), (G_GENO|G_SGROUP|2), 1968. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 1969. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1970. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 1971. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 1972. M2_ELF|M2_STRONG|M2_LORD|M2_MALE|M2_COLLECT, 0, CLR_BRIGHT_BLUE), 1973. MON("Elvenking", S_HUMAN, 1974. LVL(9, 12, 10, 25, -10), (G_GENO|1), 1975. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 1976. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1977. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 1978. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 1979. M2_ELF|M2_STRONG|M2_PRINCE|M2_MALE|M2_COLLECT, 0, HI_LORD), 1980. MON("nurse", S_HUMAN, 1981. LVL(11, 6, 0, 0, 0), (G_GENO|3), 1982. A(ATTK(AT_CLAW, AD_HEAL, 2, 6), 1983. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1984. SIZ(WT_HUMAN, 400, 0, MS_NURSE, MZ_HUMAN), MR_POISON, MR_POISON, 1985. M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_HUMAN|M2_HOSTILE, 1986. 0, HI_DOMESTIC), 1987. MON("shopkeeper", S_HUMAN, 1988. LVL(12, 18, 0, 50, 0), G_NOGEN, 1989. A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4), 1990. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1991. SIZ(WT_HUMAN, 400, sizeof(struct eshk), MS_SELL, MZ_HUMAN), 0, 0, 1992. M1_HUMANOID|M1_OMNIVORE, 1993. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 1994. 0, HI_DOMESTIC), 1995. MON("guard", S_HUMAN, 1996. LVL(12, 12, 10, 40, 10), G_NOGEN, 1997. A(ATTK(AT_WEAP, AD_PHYS, 4,10), 1998. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1999. SIZ(WT_HUMAN, 400, sizeof(struct egd), MS_GUARD, MZ_HUMAN), 0, 0, 2000. M1_HUMANOID|M1_OMNIVORE, 2001. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2002. 0, CLR_BLUE), 2003. MON("Oracle", S_HUMAN, 2004. LVL(12, 0, 0, 50, 0), (G_NOGEN|G_UNIQ), 2005. A(ATTK(AT_NONE, AD_MAGM, 0, 4), 2006. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2007. SIZ(WT_HUMAN, 400, 0, MS_ORACLE, MZ_HUMAN), 0, 0, 2008. M1_HUMANOID|M1_OMNIVORE, 2009. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_FEMALE, 0, HI_ZAP), 2010. MON("aligned priest", S_HUMAN, 2011. LVL(12, 12, 10, 50, 0), G_NOGEN, 2012. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 1, 4), 2013. ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 2014. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN), 2015. MR_ELEC, 0, M1_HUMANOID|M1_OMNIVORE, 2016. M2_NOPOLY|M2_HUMAN|M2_LORD|M2_PEACEFUL|M2_COLLECT, 0, CLR_WHITE), 2017. MON("high priest", S_HUMAN, 2018. LVL(25, 15, 7, 70, 0), (G_NOGEN|G_UNIQ), 2019. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8), 2020. ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), 2021. NO_ATTK, NO_ATTK), 2022. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN), 2023. MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, 2024. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2025. M2_NOPOLY|M2_HUMAN|M2_MINION|M2_PRINCE|M2_NASTY|M2_COLLECT|M2_MAGIC, 2026. 0, CLR_WHITE), 2027. MON("soldier", S_HUMAN, 2028. LVL(6, 4, 10, 0, -2), (G_SGROUP|G_GENO|1), 2029. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2030. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2031. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2032. M1_HUMANOID|M1_OMNIVORE, 2033. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2034. 0, CLR_GRAY), 2035. MON("sergeant", S_HUMAN, 2036. LVL(8, 4, 10, 5, -3), (G_SGROUP|G_GENO|1), 2037. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 2038. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2039. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2040. M1_HUMANOID|M1_OMNIVORE, 2041. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2042. 0, CLR_RED), 2043. MON("lieutenant", S_HUMAN, 2044. LVL(10, 4, 10, 15, -4), (G_GENO|1), 2045. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4), 2046. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2047. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2048. M1_HUMANOID|M1_OMNIVORE, 2049. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2050. 0, CLR_GREEN), 2051. MON("captain", S_HUMAN, 2052. LVL(12, 4, 10, 15, -5), (G_GENO|1), 2053. A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4), 2054. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2055. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2056. M1_HUMANOID|M1_OMNIVORE, 2057. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2058. 0, CLR_BLUE), 2059. /* Keep these separate - some of the mkroom code assumes that 2060. * all the soldiers are contiguous. 2061. */ 2062. MON("watchman", S_HUMAN, 2063. LVL(6, 4, 10, 0, -2), (G_SGROUP|G_NOGEN|G_GENO|1), 2064. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2065. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2066. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2067. M1_HUMANOID|M1_OMNIVORE, 2068. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2069. 0, CLR_GRAY), 2070. MON("watch captain", S_HUMAN, 2071. LVL(10, 4, 10, 15, -4), (G_NOGEN|G_GENO|1), 2072. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4), 2073. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2074. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2075. M1_HUMANOID|M1_OMNIVORE, 2076. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2077. 0, CLR_GREEN), 2078. /* Unique humans not tied to quests. 2079. */ 2080. MON("Medusa", S_HUMAN, 2081. LVL(20, 12, 2, 50, -15), (G_NOGEN|G_UNIQ), 2082. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_GAZE, AD_STON, 0, 0), 2083. ATTK(AT_BITE, AD_DRST, 1, 6), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2084. NO_ATTK, NO_ATTK), 2085. SIZ(WT_HUMAN, 400, 0, MS_HISS, MZ_LARGE), 2086. MR_POISON|MR_STONE, MR_POISON|MR_STONE, 2087. M1_FLY|M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_POIS|M1_OMNIVORE, 2088. M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_FEMALE, 2089. M3_WAITFORU, CLR_BRIGHT_GREEN), 2090. MON("Wizard of Yendor", S_HUMAN, 2091. LVL(30, 12, -8, 100, A_NONE), (G_NOGEN|G_UNIQ), 2092. A(ATTK(AT_CLAW, AD_SAMU, 2,12), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2093. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2094. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_HUMAN), 2095. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 2096. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT| 2097. M1_TPORT_CNTRL|M1_OMNIVORE, 2098. M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_NASTY| 2099. M2_PRINCE|M2_MALE|M2_MAGIC, 2100. M3_COVETOUS|M3_WAITFORU, HI_LORD), 2101. MON("Croesus", S_HUMAN, 2102. LVL(20, 15, 0, 40, 15), (G_UNIQ|G_NOGEN), 2103. A(ATTK(AT_WEAP, AD_PHYS, 4,10), 2104. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2105. SIZ(WT_HUMAN, 400, 0, MS_GUARD, MZ_HUMAN), 0, 0, 2106. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2107. M2_NOPOLY|M2_HUMAN|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_PNAME| 2108. M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC, 2109. 0, HI_LORD), 2110. #ifdef CHARON 2111. MON("Charon", S_HUMAN, 2112. LVL(76, 18, -5, 120, 0), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2113. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TUCH, AD_PLYS, 1, 8), 2114. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2115. SIZ(WT_HUMAN, 400, 0, MS_FERRY, MZ_HUMAN), 2116. MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0, 2117. M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID, 2118. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_PNAME|M2_MALE|M2_GREEDY|M2_COLLECT, 2119. 0, CLR_WHITE), 2120. #endif 2121. /* 2122. * ghosts 2123. */ 2124. MON("ghost", S_GHOST, 2125. LVL(10, 3, -5, 50, -5), (G_NOCORPSE|G_NOGEN), 2126. A(ATTK(AT_TUCH, AD_PHYS, 1, 1), 2127. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2128. SIZ(WT_HUMAN, 0, PL_NSIZ, MS_SILENT, MZ_HUMAN), 2129. MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0, 2130. M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID, 2131. M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_GRAY), 2132. MON("shade", S_GHOST, 2133. LVL(12, 10, 10, 0, 0), (G_NOCORPSE|G_NOGEN), 2134. A(ATTK(AT_TUCH, AD_PLYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6), 2135. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2136. SIZ(WT_HUMAN, 0, 0, MS_WAIL, MZ_HUMAN), 2137. MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0, 2138. M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID|M1_SEE_INVIS, 2139. M2_NOPOLY|M2_UNDEAD|M2_WANDER|M2_STALK|M2_HOSTILE|M2_NASTY, 2140. 0, CLR_BLACK), 2141. /* 2142. * (major) demons 2143. */ 2144. MON("water demon", S_DEMON, 2145. LVL(8, 12,-4, 30, -7), (G_NOCORPSE|G_NOGEN), 2146. A(ATTK(AT_WEAP, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2147. ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK), 2148. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2149. M1_HUMANOID|M1_POIS|M1_SWIM, 2150. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 0, CLR_BLUE), 2151. /* standard demons & devils 2152. */ 2153. MON("horned devil", S_DEMON, 2154. LVL(6, 9, -5, 50, 11), (G_HELL|G_NOCORPSE|2), 2155. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2156. ATTK(AT_BITE, AD_PHYS, 2, 3), ATTK(AT_STNG, AD_PHYS, 1, 3), 2157. NO_ATTK, NO_ATTK), 2158. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2159. M1_POIS|M1_THICK_HIDE, 2160. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 0, CLR_BROWN), 2161. #ifdef SEDUCE 2162. # define SEDUCTION_ATTACKS \ 2163. A(ATTK(AT_BITE, AD_SSEX, 0, 0), ATTK(AT_CLAW, AD_PHYS, 1, 3), \ 2164. ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK) 2165. #else 2166. # define SEDUCTION_ATTACKS \ 2167. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), \ 2168. ATTK(AT_BITE, AD_DRLI, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK) 2169. #endif 2170. MON("succubus", S_DEMON, 2171. LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1), 2172. SEDUCTION_ATTACKS, 2173. SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2174. M1_HUMANOID|M1_FLY|M1_POIS, 2175. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE, 0, CLR_GRAY), 2176. MON("incubus", S_DEMON, 2177. LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1), 2178. SEDUCTION_ATTACKS, 2179. SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2180. M1_HUMANOID|M1_FLY|M1_POIS, 2181. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_MALE, 0, CLR_GRAY), 2182. #undef SEDUCTION_ATTACKS 2183. /* Used by AD&D for a type of demon, originally one of the Furies */ 2184. /* and spelled this way */ 2185. MON("erinys", S_DEMON, 2186. LVL(7, 12, 2, 30, 10), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2187. A(ATTK(AT_WEAP, AD_DRST, 2, 4), 2188. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2189. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2190. M1_HUMANOID|M1_POIS, 2191. M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_FEMALE|M2_COLLECT, 2192. 0, CLR_RED), 2193. MON("barbed devil", S_DEMON, 2194. LVL(8, 12, 0, 35, 8), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2195. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 2196. ATTK(AT_STNG, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2197. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2198. M1_POIS|M1_THICK_HIDE, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 0, CLR_RED), 2199. MON("marilith", S_DEMON, 2200. LVL(7, 12, -6, 80, -12), (G_HELL|G_NOCORPSE|1), 2201. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2202. ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2203. ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4)), 2204. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2205. M1_HUMANOID|M1_SLITHY|M1_SEE_INVIS|M1_POIS, 2206. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE|M2_COLLECT, 0, CLR_RED), 2207. MON("vrock", S_DEMON, 2208. LVL(8, 12, 0, 50, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2209. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2210. ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_CLAW, AD_PHYS, 1, 8), 2211. ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK), 2212. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2213. M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 0, CLR_RED), 2214. MON("hezrou", S_DEMON, 2215. LVL(9, 6, -2, 55, -10), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2216. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2217. ATTK(AT_BITE, AD_PHYS, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2218. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2219. M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 0, CLR_RED), 2220. MON("bone devil", S_DEMON, 2221. LVL(9, 15, -1, 40, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2222. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_STNG, AD_DRST, 2, 4), 2223. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2224. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2225. M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 0, CLR_GRAY), 2226. MON("ice devil", S_DEMON, 2227. LVL(11, 6, -4, 55, -12), (G_HELL|G_NOCORPSE|2), 2228. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2229. ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_COLD, 3, 4), 2230. NO_ATTK, NO_ATTK), 2231. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 2232. MR_FIRE|MR_COLD|MR_POISON, 0, M1_SEE_INVIS|M1_POIS, 2233. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 0, CLR_WHITE), 2234. MON("nalfeshnee", S_DEMON, 2235. LVL(11, 9, -1, 65, -11), (G_HELL|G_NOCORPSE|1), 2236. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2237. ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2238. NO_ATTK, NO_ATTK), 2239. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2240. M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 0, CLR_RED), 2241. MON("pit fiend", S_DEMON, 2242. LVL(13, 6, -3, 65, -13), (G_HELL|G_NOCORPSE|2), 2243. A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_WEAP, AD_PHYS, 4, 2), 2244. ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2245. SIZ(WT_HUMAN, 400, 0, MS_GROWL, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2246. M1_SEE_INVIS|M1_POIS, 2247. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 0, CLR_RED), 2248. MON("balrog", S_DEMON, 2249. LVL(16, 5, -2, 75, -14), (G_HELL|G_NOCORPSE|1), 2250. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 2251. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2252. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2253. M1_FLY|M1_SEE_INVIS|M1_POIS, 2254. M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 0, CLR_RED), 2255. /* Named demon lords & princes plus Arch-Devils. 2256. * (their order matters; see minion.c) 2257. */ 2258. MON("Juiblex", S_DEMON, 2259. LVL(50, 3, -7, 65, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2260. A(ATTK(AT_ENGL, AD_DISE, 4,10), ATTK(AT_SPIT, AD_ACID, 3, 6), 2261. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2262. SIZ(1500, 0, 0, MS_GURGLE, MZ_LARGE), 2263. MR_FIRE|MR_POISON|MR_ACID|MR_STONE, 0, 2264. M1_AMPHIBIOUS|M1_AMORPHOUS|M1_NOHEAD|M1_FLY|M1_SEE_INVIS|M1_ACID| 2265. M1_POIS, 2266. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD| 2267. M2_MALE, 2268. M3_WAITFORU|M3_WANTSAMUL, CLR_BRIGHT_GREEN), 2269. MON("Yeenoghu", S_DEMON, 2270. LVL(56, 18, -5, 80, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2271. A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_WEAP, AD_CONF, 2, 8), 2272. ATTK(AT_WEAP, AD_PLYS, 1, 6), ATTK(AT_MAGC, AD_MAGM, 2, 6), 2273. NO_ATTK, NO_ATTK), 2274. SIZ(900, 500, 0, MS_ORC, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2275. M1_FLY|M1_SEE_INVIS|M1_POIS, 2276. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD| 2277. M2_MALE|M2_COLLECT, 2278. M3_WANTSAMUL, HI_LORD), 2279. MON("Orcus", S_DEMON, 2280. LVL(66, 9, -6, 85, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2281. A(ATTK(AT_MAGC, AD_SPEL, 8, 6), ATTK(AT_WEAP, AD_PHYS, 3, 6), 2282. ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 2283. ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK), 2284. SIZ(1500, 500, 0, MS_ORC, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2285. M1_FLY|M1_SEE_INVIS|M1_POIS, 2286. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_PRINCE| 2287. M2_MALE|M2_COLLECT, 2288. M3_WAITFORU|M3_WANTSBOOK|M3_WANTSAMUL, HI_LORD), 2289. MON("Geryon", S_DEMON, 2290. LVL(72, 3, -3, 75, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2291. A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6), 2292. ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2293. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2294. M1_FLY|M1_SEE_INVIS|M1_POIS|M1_SLITHY, 2295. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2296. M2_PRINCE|M2_MALE, 2297. M3_WANTSAMUL, HI_LORD), 2298. MON("Dispater", S_DEMON, 2299. LVL(78, 15, -2, 80, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2300. A(ATTK(AT_WEAP, AD_PHYS, 4, 6), ATTK(AT_MAGC, AD_SPEL, 6, 6), 2301. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2302. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2303. M1_FLY|M1_SEE_INVIS|M1_POIS|M1_HUMANOID, 2304. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2305. M2_PRINCE|M2_MALE|M2_COLLECT, 2306. M3_WANTSAMUL, HI_LORD), 2307. MON("Baalzebub", S_DEMON, 2308. LVL(89, 9, -5, 85, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2309. A(ATTK(AT_BITE, AD_DRST, 2, 6), ATTK(AT_GAZE, AD_STUN, 2, 6), 2310. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2311. SIZ(1500, 500, 0, MS_BRIBE, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2312. M1_FLY|M1_SEE_INVIS|M1_POIS, 2313. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2314. M2_PRINCE|M2_MALE, 2315. M3_WANTSAMUL|M3_WAITFORU, HI_LORD), 2316. MON("Asmodeus", S_DEMON, 2317. LVL(105, 12, -7, 90, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2318. A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_MAGC, AD_COLD, 6, 6), 2319. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2320. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_COLD|MR_POISON, 0, 2321. M1_FLY|M1_SEE_INVIS|M1_HUMANOID|M1_POIS, 2322. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG| 2323. M2_NASTY|M2_PRINCE|M2_MALE, 2324. M3_WANTSAMUL|M3_WAITFORU, HI_LORD), 2325. MON("Demogorgon", S_DEMON, 2326. LVL(106, 15, -8, 95, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2327. A(ATTK(AT_MAGC, AD_SPEL, 8, 6), ATTK(AT_STNG, AD_DRLI, 1, 4), 2328. ATTK(AT_CLAW, AD_DISE, 1, 6), ATTK(AT_CLAW, AD_DISE, 1, 6), 2329. NO_ATTK, NO_ATTK), 2330. SIZ(1500, 500, 0, MS_GROWL, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2331. M1_FLY|M1_SEE_INVIS|M1_NOHANDS|M1_POIS, 2332. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2333. M2_PRINCE|M2_MALE, 2334. M3_WANTSAMUL, HI_LORD), 2335. /* Riders -- the Four Horsemen of the Apocalypse ("War" player) 2336. */ 2337. MON("Death", S_DEMON, 2338. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2339. A(ATTK(AT_TUCH, AD_DETH, 8, 8), ATTK(AT_TUCH, AD_DETH, 8, 8), 2340. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2341. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2342. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2343. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2344. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2345. 0, HI_LORD), 2346. MON("Pestilence", S_DEMON, 2347. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2348. A(ATTK(AT_TUCH, AD_PEST, 8, 8), ATTK(AT_TUCH, AD_PEST, 8, 8), 2349. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2350. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2351. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2352. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2353. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2354. 0, HI_LORD), 2355. MON("Famine", S_DEMON, 2356. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2357. A(ATTK(AT_TUCH, AD_FAMN, 8, 8), ATTK(AT_TUCH, AD_FAMN, 8, 8), 2358. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2359. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2360. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2361. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2362. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2363. 0, HI_LORD), 2364. /* other demons 2365. */ 2366. #ifdef MAIL 2367. MON("mail daemon", S_DEMON, 2368. LVL(56, 24, 10, 127, 0), (G_NOGEN|G_NOCORPSE), 2369. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2370. SIZ(600, 300, 0, MS_SILENT, MZ_HUMAN), 2371. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2372. M1_FLY|M1_SWIM|M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID|M1_POIS, 2373. M2_NOPOLY|M2_STALK|M2_PEACEFUL, 0, CLR_BRIGHT_BLUE), 2374. #endif 2375. MON("djinni", S_DEMON, 2376. LVL(7, 12, 4, 30, 0), (G_NOGEN|G_NOCORPSE), 2377. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), 2378. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2379. SIZ(1500, 400, 0, MS_DJINNI, MZ_HUMAN), MR_POISON|MR_STONE, 0, 2380. M1_HUMANOID|M1_FLY|M1_POIS, 2381. M2_NOPOLY|M2_STALK|M2_COLLECT, 0, CLR_YELLOW), 2382. /* 2383. * sea monsters 2384. */ 2385. MON("giant eel", S_EEL, 2386. LVL(5, 9, -1, 0, 0), (G_GENO|G_NOGEN), 2387. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0), 2388. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2389. SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), 0, 0, 2390. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2391. M1_CARNIVORE|M1_OVIPAROUS, 2392. M2_HOSTILE, 0, CLR_CYAN), 2393. MON("electric eel", S_EEL, 2394. LVL(7, 10, -3, 0, 0), (G_GENO|G_NOGEN), 2395. A(ATTK(AT_BITE, AD_ELEC, 4, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0), 2396. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2397. SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), MR_ELEC, MR_ELEC, 2398. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2399. M1_CARNIVORE|M1_OVIPAROUS, 2400. M2_HOSTILE, 0, CLR_BLUE), 2401. MON("kraken", S_EEL, 2402. LVL(20, 3, 6, 0, -3), (G_GENO|G_NOGEN), 2403. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 2404. ATTK(AT_HUGS, AD_WRAP, 2, 6), ATTK(AT_BITE, AD_PHYS, 5, 4), 2405. NO_ATTK, NO_ATTK), 2406. SIZ(1800, 1000, 0, MS_SILENT, MZ_HUGE), 0, 0, 2407. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2408. M2_NOPOLY|M2_HOSTILE|M2_STRONG, 0, CLR_RED), 2409. /* 2410. * lizards, &c 2411. */ 2412. MON("newt", S_LIZARD, 2413. LVL(0, 6, 8, 0, 0), (G_GENO|5), 2414. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 2415. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2416. SIZ(10, 20, 0, MS_SILENT, MZ_TINY), 0, 0, 2417. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2418. M2_HOSTILE, 0, CLR_YELLOW), 2419. MON("gecko", S_LIZARD, 2420. LVL(1, 6, 8, 0, 0), (G_GENO|5), 2421. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 2422. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2423. SIZ(10, 20, 0, MS_SQEEK, MZ_TINY), 0, 0, 2424. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN), 2425. MON("iguana", S_LIZARD, 2426. LVL(2, 6, 7, 0, 0), (G_GENO|5), 2427. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 2428. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2429. SIZ(30, 30, 0, MS_SILENT, MZ_TINY), 0, 0, 2430. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 2431. MON("baby crocodile", S_LIZARD, 2432. LVL(3, 6, 7, 0, 0), G_GENO, 2433. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 2434. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2435. SIZ(200, 200, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 2436. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2437. M2_HOSTILE, 0, CLR_BROWN), 2438. MON("lizard", S_LIZARD, 2439. LVL(5, 6, 6, 10, 0), (G_GENO|5), 2440. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 2441. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2442. SIZ(10, 40, 0, MS_SILENT, MZ_TINY), MR_STONE, MR_STONE, 2443. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN), 2444. MON("chameleon", S_LIZARD, 2445. LVL(6, 5, 6, 10, 0), (G_GENO|2), 2446. A(ATTK(AT_BITE, AD_PHYS, 4, 2), 2447. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2448. SIZ(100, 100, 0, MS_SILENT, MZ_TINY), 0, 0, 2449. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_NOPOLY|M2_HOSTILE, 0, CLR_BROWN), 2450. MON("crocodile", S_LIZARD, 2451. LVL(6, 9, 5, 0, 0), (G_GENO|1), 2452. A(ATTK(AT_BITE, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 1,12), 2453. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2454. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 0, 0, 2455. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS| 2456. M1_OVIPAROUS|M1_CARNIVORE, 2457. M2_STRONG|M2_HOSTILE, 0, CLR_BROWN), 2458. MON("salamander", S_LIZARD, 2459. LVL(8, 12, -1, 0, -9), (G_HELL|1), 2460. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_TUCH, AD_FIRE, 1, 6), 2461. ATTK(AT_HUGS, AD_PHYS, 2, 6), ATTK(AT_HUGS, AD_FIRE, 3, 6), 2462. NO_ATTK, NO_ATTK), 2463. SIZ(1500, 400, 0, MS_MUMBLE, MZ_HUMAN), MR_SLEEP|MR_FIRE, MR_FIRE, 2464. M1_HUMANOID|M1_SLITHY|M1_THICK_HIDE|M1_POIS, 2465. M2_STALK|M2_HOSTILE|M2_COLLECT|M2_MAGIC, 0, CLR_ORANGE), 2466. 2467. /* 2468. * dummy monster needed for visual interface 2469. */ 2470. /* (marking it unique prevents figurines) 2471. */ 2472. MON("long worm tail", S_WORM_TAIL, 2473. LVL(0, 0, 0, 0, 0), (G_NOGEN|G_NOCORPSE|G_UNIQ), 2474. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2475. SIZ(0, 0, 0, 0, 0), 0, 0, 0L, M2_NOPOLY, 0, CLR_BROWN), 2476. 2477. /* Note: 2478. * Worm tail must be between the normal monsters and the special 2479. * quest & pseudo-character ones because an optimization in the 2480. * random monster selection code assumes everything beyond here 2481. * has the G_NOGEN and M2_NOPOLY attributes. 2482. */ 2483. 2484. /* 2485. * character classes 2486. */ 2487. MON("archeologist", S_HUMAN, 2488. LVL(10, 10, 10, 1, 3), G_NOGEN, 2489. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2490. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2491. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2492. M1_HUMANOID|M1_TUNNEL|M1_NEEDPICK|M1_OMNIVORE, 2493. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2494. MON("barbarian", S_HUMAN, 2495. LVL(10, 10, 10, 1, 0), G_NOGEN, 2496. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2497. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2498. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 2499. M1_HUMANOID|M1_OMNIVORE, 2500. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2501. MON("caveman", S_HUMAN, 2502. LVL(10, 10, 10, 0, 1), G_NOGEN, 2503. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2504. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2505. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2506. M1_HUMANOID|M1_OMNIVORE, 2507. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, 0, HI_DOMESTIC), 2508. MON("cavewoman", S_HUMAN, 2509. LVL(10, 10, 10, 0, 1), G_NOGEN, 2510. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2511. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2512. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2513. M1_HUMANOID|M1_OMNIVORE, 2514. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, 0, HI_DOMESTIC), 2515. /* Note: players who are elves still get normal carrying capacity, 2516. * even though this is strictly speaking inconsistent. 2517. */ 2518. MON("elf", S_HUMAN, 2519. LVL(10, 12, 10, 2, -3), G_NOGEN, 2520. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2521. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2522. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2523. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2524. M2_NOPOLY|M2_ELF|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2525. MON("healer", S_HUMAN, 2526. LVL(10, 10, 10, 1, 0), G_NOGEN, 2527. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2528. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2529. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 2530. M1_HUMANOID|M1_OMNIVORE, 2531. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2532. MON("knight", S_HUMAN, 2533. LVL(10, 10, 10, 1, 3), G_NOGEN, 2534. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2535. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2536. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2537. M1_HUMANOID|M1_OMNIVORE, 2538. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2539. MON("priest", S_HUMAN, 2540. LVL(10, 10, 10, 2, 0), G_NOGEN, 2541. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2542. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2543. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2544. M1_HUMANOID|M1_OMNIVORE, 2545. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, 0, HI_DOMESTIC), 2546. MON("priestess", S_HUMAN, 2547. LVL(10, 10, 10, 2, 0), G_NOGEN, 2548. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2549. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2550. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2551. M1_HUMANOID|M1_OMNIVORE, 2552. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, 0, HI_DOMESTIC), 2553. MON("rogue", S_HUMAN, 2554. LVL(10, 10, 10, 1, -3), G_NOGEN, 2555. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2556. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2557. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2558. M1_HUMANOID|M1_OMNIVORE, 2559. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 2560. 0, HI_DOMESTIC), 2561. MON("samurai", S_HUMAN, 2562. LVL(10, 10, 10, 1, 3), G_NOGEN, 2563. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2564. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2565. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2566. M1_HUMANOID|M1_OMNIVORE, 2567. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2568. #ifdef TOURIST 2569. MON("tourist", S_HUMAN, 2570. LVL(10, 10, 10, 1, 0), G_NOGEN, 2571. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2572. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2573. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2574. M1_HUMANOID|M1_OMNIVORE, 2575. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2576. #endif 2577. MON("valkyrie", S_HUMAN, 2578. LVL(10, 10, 10, 1, -1), G_NOGEN, 2579. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2580. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2581. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_COLD, 0, 2582. M1_HUMANOID|M1_OMNIVORE, 2583. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, 0, HI_DOMESTIC), 2584. MON("wizard", S_HUMAN, 2585. LVL(10, 10, 10, 3, 0), G_NOGEN, 2586. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2587. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2588. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2589. M1_HUMANOID|M1_OMNIVORE, 2590. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MAGIC, 0, HI_DOMESTIC), 2591. /* 2592. * quest leaders 2593. */ 2594. MON("Lord Carnarvon", S_HUMAN, 2595. LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ), 2596. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2597. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2598. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 2599. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 2600. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 2601. M2_COLLECT|M2_MAGIC, 2602. M3_CLOSE, HI_LORD), 2603. MON("Pelias", S_HUMAN, 2604. LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ), 2605. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2606. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2607. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0, 2608. M1_HUMANOID|M1_OMNIVORE, 2609. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 2610. M2_COLLECT|M2_MAGIC, 2611. M3_CLOSE, HI_LORD), 2612. MON("Shaman Karnov", S_HUMAN, 2613. LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ), 2614. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2615. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2616. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 2617. M1_HUMANOID|M1_OMNIVORE, 2618. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 2619. M2_COLLECT|M2_MAGIC, 2620. M3_CLOSE, HI_LORD), 2621. /* Two for elves - one of each sex. 2622. */ 2623. MON("Earendil", S_HUMAN, 2624. LVL(20, 15, 0, 50, -20), (G_NOGEN|G_UNIQ), 2625. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2626. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2627. SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2628. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2629. M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG| 2630. M2_MALE|M2_COLLECT|M2_MAGIC, 2631. M3_CLOSE, HI_LORD), 2632. MON("Elwing", S_HUMAN, 2633. LVL(20, 15, 0, 50, -20), (G_NOGEN|G_UNIQ), 2634. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2635. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2636. SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2637. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2638. M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG| 2639. M2_FEMALE|M2_COLLECT|M2_MAGIC, 2640. M3_CLOSE, HI_LORD), 2641. MON("Hippocrates", S_HUMAN, 2642. LVL(20, 12, 0, 40, 0), (G_NOGEN|G_UNIQ), 2643. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2644. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2645. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0, 2646. M1_HUMANOID|M1_OMNIVORE, 2647. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 2648. M2_COLLECT|M2_MAGIC, 2649. M3_CLOSE, HI_LORD), 2650. MON("King Arthur", S_HUMAN, 2651. LVL(20, 12, 0, 40, 20), (G_NOGEN|G_UNIQ), 2652. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2653. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2654. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 2655. M1_HUMANOID|M1_OMNIVORE, 2656. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 2657. M2_COLLECT|M2_MAGIC, 2658. M3_CLOSE, HI_LORD), 2659. MON("Arch Priest", S_HUMAN, 2660. LVL(25, 15, 7, 70, 0), (G_NOGEN|G_UNIQ), 2661. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8), 2662. ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), 2663. NO_ATTK, NO_ATTK), 2664. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 2665. MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, 2666. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2667. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 2668. M3_CLOSE, CLR_WHITE), 2669. /* Note: Master of Thieves is also the Tourist's nemesis. 2670. */ 2671. MON("Master of Thieves", S_HUMAN, 2672. LVL(20, 15, 0, 30, -20), (G_NOGEN|G_UNIQ), 2673. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 2674. ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2675. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 2676. M1_HUMANOID|M1_OMNIVORE, 2677. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_GREEDY| 2678. M2_JEWELS|M2_COLLECT|M2_MAGIC, 2679. M3_CLOSE, HI_LORD), 2680. MON("Lord Sato", S_HUMAN, 2681. LVL(20, 15, 0, 30, 20), (G_NOGEN|G_UNIQ), 2682. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2683. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2684. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 2685. M1_HUMANOID|M1_OMNIVORE, 2686. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 2687. M2_COLLECT|M2_MAGIC, 2688. M3_CLOSE, HI_LORD), 2689. #ifdef TOURIST 2690. MON("Twoflower", S_HUMAN, 2691. LVL(20, 10, 10, 20, 0), (G_NOGEN|G_UNIQ), 2692. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2693. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2694. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 2695. M1_HUMANOID|M1_OMNIVORE, 2696. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 2697. M2_COLLECT|M2_MAGIC, 2698. M3_CLOSE, HI_DOMESTIC), 2699. #endif 2700. MON("Norn", S_HUMAN, 2701. LVL(20, 15, 0, 80, 0), (G_NOGEN|G_UNIQ), 2702. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2703. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2704. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_COLD, 0, 2705. M1_HUMANOID|M1_OMNIVORE, 2706. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_FEMALE| 2707. M2_COLLECT|M2_MAGIC, 2708. M3_CLOSE, HI_LORD), 2709. MON("Wizard of Balance", S_HUMAN, 2710. LVL(20, 12, 0, 60, 0), (G_NOGEN|G_UNIQ), 2711. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2712. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2713. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 2714. M1_HUMANOID|M1_OMNIVORE, 2715. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 2716. M3_CLOSE, HI_LORD), 2717. /* 2718. * quest nemeses 2719. */ 2720. MON("Minion of Huhetotl", S_DEMON, 2721. LVL(16, 10, -2, 75, -14), (G_NOCORPSE|G_NOGEN|G_UNIQ), 2722. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 2723. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6), 2724. NO_ATTK, NO_ATTK), 2725. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2726. M1_FLY|M1_SEE_INVIS|M1_POIS, 2727. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 2728. M3_WANTSARTI|M3_WAITFORU, CLR_RED), 2729. MON("Thoth Amon", S_HUMAN, 2730. LVL(16, 10, 0, 10, -14), (G_NOGEN|G_UNIQ), 2731. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2732. ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_SAMU, 1, 4), 2733. NO_ATTK, NO_ATTK), 2734. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON, 0, 2735. M1_HUMANOID|M1_OMNIVORE, 2736. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_STRONG|M2_MALE|M2_STALK|M2_HOSTILE| 2737. M2_NASTY|M2_COLLECT|M2_MAGIC, 2738. M3_WANTSARTI|M3_WAITFORU, HI_LORD), 2739. MON("Chromatic Dragon", S_DRAGON, 2740. LVL(16, 10, 0, 30, -14), (G_NOGEN|G_UNIQ), 2741. A(ATTK(AT_BREA, AD_RBRE, 6, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2742. ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_BITE, AD_PHYS, 4, 8), 2743. ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_STNG, AD_PHYS, 1, 6)), 2744. SIZ(WT_DRAGON, 1700, 0, MS_NEMESIS, MZ_GIGANTIC), 2745. MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_POISON, 2746. MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_POISON, 2747. M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS|M1_POIS, 2748. M2_NOPOLY|M2_HOSTILE|M2_FEMALE|M2_STALK|M2_STRONG|M2_NASTY| 2749. M2_GREEDY|M2_JEWELS|M2_MAGIC, 2750. M3_WANTSARTI|M3_WAITFORU, HI_LORD), 2751. MON("Goblin King", S_ORC, 2752. LVL(15, 10, 10, 0, -15), (G_NOGEN|G_UNIQ), 2753. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 2754. ATTK(AT_CLAW, AD_SAMU, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2755. SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 2756. M1_HUMANOID|M1_OMNIVORE, 2757. M2_NOPOLY|M2_ORC|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|M2_MALE| 2758. M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC, 2759. M3_WANTSARTI|M3_WAITFORU, HI_LORD), 2760. MON("Cyclops", S_GIANT, 2761. LVL(18, 10, 0, 0, -15), (G_NOGEN|G_UNIQ), 2762. A(ATTK(AT_WEAP, AD_PHYS, 4, 8), ATTK(AT_WEAP, AD_PHYS, 4, 8), 2763. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2764. SIZ(1900, 700, 0, MS_NEMESIS, MZ_HUGE), 0, 0, 2765. M1_HUMANOID|M1_OMNIVORE, 2766. M2_NOPOLY|M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_STALK|M2_HOSTILE| 2767. M2_NASTY|M2_MALE|M2_JEWELS|M2_COLLECT, 2768. M3_WANTSARTI|M3_WAITFORU, CLR_GRAY), 2769. MON("Ixoth", S_DRAGON, 2770. LVL(15, 9, -1, 20, -14), (G_NOGEN|G_UNIQ), 2771. A(ATTK(AT_BREA, AD_FIRE, 8, 6), ATTK(AT_BITE, AD_PHYS, 4, 8), 2772. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_PHYS, 2, 4), 2773. ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK ), 2774. SIZ(WT_DRAGON, 1600, 0, MS_NEMESIS, MZ_GIGANTIC), MR_FIRE, MR_FIRE, 2775. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS, 2776. M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_STALK| 2777. M2_GREEDY|M2_JEWELS|M2_MAGIC, 2778. M3_WANTSARTI|M3_WAITFORU, CLR_RED), 2779. MON("Nalzok", S_DEMON, 2780. LVL(16, 10, -2, 85, -127), (G_NOGEN|G_UNIQ|G_NOCORPSE), 2781. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 2782. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6), 2783. NO_ATTK, NO_ATTK), 2784. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2785. M1_FLY|M1_SEE_INVIS|M1_POIS, 2786. M2_NOPOLY|M2_DEMON|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK| 2787. M2_NASTY|M2_COLLECT, 2788. M3_WANTSARTI|M3_WAITFORU, CLR_RED), 2789. MON("Master Assassin", S_HUMAN, 2790. LVL(15, 15, 0, 30, 18), (G_NOGEN|G_UNIQ), 2791. A(ATTK(AT_WEAP, AD_DRST, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 8), 2792. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2793. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 2794. M1_HUMANOID|M1_OMNIVORE, 2795. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY| 2796. M2_COLLECT|M2_MAGIC, 2797. M3_WANTSARTI|M3_WAITFORU, HI_LORD), 2798. /* A renegade daimyo who led a 13 year civil war against the shogun 2799. * of his time. 2800. */ 2801. MON("Ashikaga Takauji", S_HUMAN, 2802. LVL(15, 15, 0, 40, -13), (G_NOGEN|G_UNIQ), 2803. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 2804. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2805. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 2806. M1_HUMANOID|M1_OMNIVORE, 2807. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK| 2808. M2_NASTY|M2_MALE|M2_COLLECT|M2_MAGIC, 2809. M3_WANTSARTI|M3_WAITFORU, HI_LORD), 2810. #ifdef TOURIST 2811. /* 2812. * Note: the Master of Thieves was defined above. 2813. */ 2814. #endif 2815. MON("Lord Surtur", S_GIANT, 2816. LVL(15, 12, 2, 50, 12), (G_NOGEN|G_UNIQ), 2817. A(ATTK(AT_WEAP, AD_PHYS, 2,10), ATTK(AT_WEAP, AD_PHYS, 2,10), 2818. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2819. SIZ(2250, 850, 0, MS_NEMESIS, MZ_HUGE), MR_FIRE, MR_FIRE, 2820. M1_HUMANOID|M1_OMNIVORE, 2821. M2_NOPOLY|M2_GIANT|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STALK| 2822. M2_STRONG|M2_NASTY|M2_ROCKTHROW|M2_JEWELS|M2_COLLECT, 2823. M3_WANTSARTI|M3_WAITFORU, HI_LORD), 2824. MON("Dark One", S_HUMAN, 2825. LVL(15, 10, 0, 80, -10), (G_NOGEN|G_UNIQ), 2826. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2827. ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_SAMU, 1, 4), 2828. NO_ATTK, NO_ATTK), 2829. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 2830. M1_HUMANOID|M1_OMNIVORE, 2831. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY| 2832. M2_COLLECT|M2_MAGIC, 2833. M3_WANTSARTI|M3_WAITFORU, CLR_BLACK), 2834. /* 2835. * quest "guardians" 2836. */ 2837. MON("student", S_HUMAN, 2838. LVL(5, 10, 10, 10, 3), G_NOGEN, 2839. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2840. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2841. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2842. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 2843. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2844. MON("chieftain", S_HUMAN, 2845. LVL(5, 10, 10, 10, 0), G_NOGEN, 2846. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2847. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2848. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0, 2849. M1_HUMANOID|M1_OMNIVORE, 2850. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2851. MON("neanderthal", S_HUMAN, 2852. LVL(5, 10, 10, 10, 1), G_NOGEN, 2853. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2854. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2855. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2856. M1_HUMANOID|M1_OMNIVORE, 2857. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2858. MON("High-elf", S_HUMAN, 2859. LVL(5, 12, 10, 10, -7), G_NOGEN, 2860. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_CLRC, 0, 0), 2861. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2862. SIZ(WT_ELF, 350, 0, MS_GUARDIAN, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2863. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2864. M2_NOPOLY|M2_ELF|M2_PEACEFUL|M2_COLLECT, 0, HI_DOMESTIC), 2865. MON("attendant", S_HUMAN, 2866. LVL(5, 10, 10, 10, 3), G_NOGEN, 2867. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2868. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2869. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0, 2870. M1_HUMANOID|M1_OMNIVORE, 2871. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2872. MON("page", S_HUMAN, 2873. LVL(5, 10, 10, 10, 3), G_NOGEN, 2874. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2875. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2876. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2877. M1_HUMANOID|M1_OMNIVORE, 2878. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2879. MON("acolyte", S_HUMAN, 2880. LVL(5, 10, 10, 20, 0), G_NOGEN, 2881. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_CLRC, 0, 0), 2882. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2883. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2884. M1_HUMANOID|M1_OMNIVORE, 2885. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2886. MON("thug", S_HUMAN, 2887. LVL(5, 10, 10, 10, -3), G_NOGEN, 2888. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2889. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2890. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2891. M1_HUMANOID|M1_OMNIVORE, 2892. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_GREEDY|M2_COLLECT, 2893. 0, HI_DOMESTIC), 2894. MON("ninja", S_HUMAN, 2895. LVL(5, 10, 10, 10, 3), G_NOGEN, 2896. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2897. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2898. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2899. M1_HUMANOID|M1_OMNIVORE, 2900. M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2901. MON("roshi", S_HUMAN, 2902. LVL(5, 10, 10, 10, 3), G_NOGEN, 2903. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2904. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2905. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2906. M1_HUMANOID|M1_OMNIVORE, 2907. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2908. #ifdef TOURIST 2909. MON("guide", S_HUMAN, 2910. LVL(5, 10, 10, 20, 0), G_NOGEN, 2911. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2912. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2913. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2914. M1_HUMANOID|M1_OMNIVORE, 2915. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL | M2_STRONG|M2_COLLECT|M2_MAGIC, 2916. 0, HI_DOMESTIC), 2917. #endif 2918. MON("warrior", S_HUMAN, 2919. LVL(5, 10, 10, 10, -1), G_NOGEN, 2920. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2921. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2922. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2923. M1_HUMANOID|M1_OMNIVORE, 2924. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), 2925. MON("apprentice", S_HUMAN, 2926. LVL(5, 10, 10, 30, 0), G_NOGEN, 2927. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2928. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2929. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 2930. M1_HUMANOID|M1_OMNIVORE, 2931. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 2932. 0, HI_DOMESTIC), 2933. /* 2934. * array terminator 2935. */ 2936. MON("", 0, 2937. LVL(0, 0, 0, 0, 0), (0), 2938. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2939. SIZ(0, 0, 0, 0, 0), 0, 0, 0L, 0L, 0, 0) 2940. }; 2941. #endif /* !SPLITMON_1 */ 2942. 2943. #ifndef SPLITMON_1 2944. /* dummy routine used to force linkage */ 2945. void 2946. monst_init() 2947. { 2948. return; 2949. } 2950. #endif 2951. 2952. /*monst.c*/ monst.c